2015-10-29 11 views
1

Мне было интересно, как я могу добавить номера исследований вместо имен исследований. Вот пример:добавление номеров исследований путем сканирования текстовой строки в кадре данных

Мой исходный кадр данных имеет столбец источника, который выглядит следующим образом:

df <- 
SOURCE 
studyA 
studyB 
studyC 
studyA 

Как я могу дать уникальные номера для источниковедение? Результат должен быть таким:

df <- 
SOURCE STUDY 
studyA 1 
studyB 2 
studyC 3 
studyA 1 

В основном то, что сканирует SOURCE столбец и дает число, если найти новое исследование.

ответ

1

Мы можем преобразовать столбец «источник» для factor класса с указанием levels в качестве unique элементов «SOURCE and coerce to класса numeric`.

df$STUDY <- as.numeric(factor(df$SOURCE, levels= unique(df$SOURCE))) 

Или мы match «источник» к unique элементов SOURCE, чтобы получить числовой индекс.

df$STUDY <- with(df, match(SOURCE, unique(SOURCE))) 
df 
# SOURCE STUDY 
#1 studyA  1 
#2 studyB  2 
#3 studyC  3 
#4 studyA  1 
+1

Спасибо! Жизнь проста! – daragh

Смежные вопросы