如果某一特定列中的值小于另一列中的值,则仅选择行

我使用 R,需要选择行的年龄(死亡年龄)小于或等于外圈(哺乳期长度)。我试图创建一个新的数据框架,只包含行/id,其中列‘ age’的值小于相应的‘ 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

如果你能帮忙,我会很感激的!

巴松

307701 次浏览
df[df$aged <= df$laclen, ]

Should do the trick. The square brackets allow you to index based on a logical expression.

You can also do

subset(df, aged <= laclen)

If you use dplyr package you can do:

library(dplyr)
filter(df, aged <= laclen)