2013-05-16 5 views
0

Я хочу, чтобы заменить текст в одном столбце с номерамиЗамена текста в кадре данных в г

, например,

>df = chickwts 
>df 
    weight  feed 
1  179 horsebean 
2  160 horsebean 
3  136 horsebean 
4  227 horsebean 
5  217 horsebean 
6  168 horsebean 
7  108 horsebean 
8  124 horsebean 
9  143 horsebean 
10 140 horsebean 
11 309 linseed 
12 229 linseed 
... 

Как заменить все имена 6 подающих с номерами 1:6 в одной команде?

Я новичок в r и провел час, пытаясь выполнить разные функции без успеха. Я хочу использовать

fr = unique(df$feed) 
to = 1:6 

Но кроме этого у меня возникают трудности.

ответ

3

Зависит от того, что вы хотите сделать. Если вы планируете провести статистический анализ, который обрабатывает фид как категориальную переменную, то as.factor - это то, что вы ищете. Попробуйте это:

# Turn them into a factor like this 
df$feed <- as.factor(df$feed) 

# Here are the levels of the factor 
levels(df$feed) 
# [1] "horsebean" "linseed" 

# If you want their underlying numerical values 
as.numeric(df$feed) 
# [1] 1 1 1 1 1 1 1 1 1 1 2 2 
+1

так просто добавить к SimonO101: 'ДФ $ подачи <- as.numeric (as.factor (ДФ $ корма))' будет делать то, что вы хотите – zap2008

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