0

我有一个初学者 R 问题。

如果“c”中的相应行> 4,我想添加一个值为1的列“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)

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

4

1 回答 1

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
于 2013-10-31T08:24:17.100 回答