首页 > 解决方案 > 将具有取决于另一列的值的列添加到数据框中

问题描述

我有一个数据框,我想根据我的数据框中的列向该列附加值。我的数据框看起来有点像这样:

c1  c2  c3
x   2   z
y   5   f
c   3   r
a   11  z

现在我想c4根据c2. 对于 0 到 4 之间的所有值,我要追加"low",对于 5 到 9 之间的值,我要追加"medium",对于大于 10的值"high"

c1  c2  c3  c4
x   2   z   "low"
y   5   f   "medium"
c   3   r   "low"
a   11  z   "high"

可能答案很简单,但我真的想不出什么。

标签: rdataframe

解决方案


您可以嵌套ifelsestataments。当您从连续变量中创建分类变量时,它非常方便。

data$c4 <- ifelse(data$c2 >= 0 & data$c2 <= 4, 'low',
                  ifelse(data$c2 >=5 & data$c2 <=9, 'medium',
                         ifelse(data$c2 >=10, 'High', 'something else')

推荐阅读