2012-04-24 98 views
1

我有两列数据框说“a”和“b”现在我想创建另一列“c”,如果满足以下条件满足:在R条件下在数据框中的其他列创建新变量

a> x并且在该子集b> y内。 x和y是任意常数。条件有些嵌套。所以如果a> x返回25个观测值,那么b> y将在整个数据帧内的那个观测值内进行搜索。

+1

请参阅http://stackoverflow.com/questions/5963269/how-to-make-a-great- r-reproducible-example如何帮助我们帮助你回答你的问题。另外,我不明白这是如何嵌套的。 'a> x&b> y'有什么问题? – 2012-04-24 20:00:16

回答

2

我真的怀疑你可能已经想通了这一点,你有试过的东西...

R> x <- data.frame(a=1:10,b=10:1) 
R> (x$c <- x$a > 3 & x$b > 4) 
    a b  c 
1 1 10 FALSE 
2 2 9 FALSE 
3 3 8 FALSE 
4 4 7 TRUE 
5 5 6 TRUE 
6 6 5 TRUE 
7 7 4 FALSE 
8 8 3 FALSE 
9 9 2 FALSE 
10 10 1 FALSE 
+0

当你这样做的时候,你是在避免R为'a> x'为'FALSE'的行计算'b> y'? – 2012-04-24 20:15:48

+0

@Joshua:谢谢你正在寻找我。 – Joy 2012-04-24 20:21:36

+0

@JoãoDaniel:对于向量中的每个元素都评估了'x $ b> 4'。单独运行这些命令以查看它们各自返回的内容('(xa <- x$a > 3);(xb <- x$b > 4);(xc < - xa&xb)')。如果'xa'和'xb'的对应元素都是'TRUE','xc'中的元素只有'TRUE'。 – 2012-04-24 20:23:54

相关问题