82

我正在使用 R 并且需要选择年龄(死亡年龄)小于或等于 laclen(哺乳期)的行。我正在尝试创建一个新的数据框以仅包含行/ID,其中列'aged' 的值小于其相应的'laclength' 值。

df:
 id1   id2    laclen    aged
9830  64526    26       6 
7609  64547    28       0 
9925  64551     3       0 
9922  64551     3       5 
9916  64551     3       8 
9917  64551     3       8 
9914  64551     3       2 

新的数据框应如下所示:

dfnew:
id1   id2    laclen    aged
9830  64526    26       6 
7609  64547    28       0 
9925  64551     3       0 
9914  64551     3       2

任何帮助,将不胜感激!

巴宗

4

3 回答 3

122
df[df$aged <= df$laclen, ] 

应该做的伎俩。方括号允许您根据逻辑表达式进行索引。

于 2010-05-18T05:18:35.803 回答
60

你也可以做

subset(df, aged <= laclen)
于 2010-05-18T06:03:15.287 回答
13

如果您使用dplyr包,您可以执行以下操作:

library(dplyr)
filter(df, aged <= laclen)
于 2015-11-15T18:27:06.297 回答