2012-04-24 102 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

相關問題