替换r中数据框中的文本

时间:2013-05-16 18:54:05

标签: r dataframe

我想用数字替换一列中的文字

例如,

>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
...

如何在一个命令中用数字1:6替换所有6个Feed名称?

我是r的初学者,花了一个小时尝试不同的功能但没有成功。我想用

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

但除此之外,我遇到了困难。

1 个答案:

答案 0 :(得分:3)

取决于你想做什么。如果您计划进行一些将Feed视为分类变量的统计分析,那么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