根据与另一列的比较在R中添加列

时间:2013-10-31 08:19:10

标签: r

我有一个初学R问题。

如果“c”中的相应行是> 4,我想添加一个值为“d”的列“d”,否则为0。我认为,如果我可以做这个基本的事情,我可以将逻辑扩展到我的其他问题。基本上,我无法弄清楚如何在给定行中的条目之间进行基本比较。

以下是一组示例代码:

# initial data
a=c(0,1,1)
b=c(1,2,3)
c=c(4,5,6)
data=data.frame(a,b,c)

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

一种方式:

> data
  a b c
1 0 1 4
2 1 2 5
3 1 3 6
> data$d=ifelse(data$c>4,1,0)
> data
  a b c d
1 0 1 4 0
2 1 2 5 1
3 1 3 6 1

另一种常见的方法是依赖TRUE / FALSE转换为数字时转换为1/0的事实:

> data$d2=as.numeric(data$c>4)
> data
  a b c d d2
1 0 1 4 0  0
2 1 2 5 1  1
3 1 3 6 1  1