Подтвердить что ты не робот

Выберите только строки, если его значение в определенном столбце меньше его значения в другом столбце

Я использую R и вам нужно выбрать строки с возрастом (возраст смерти), меньший или равный laclen (длина лактации). Я пытаюсь создать новый фрейм данных, чтобы включать только строки/идентификаторы, в которых значение column'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

Любая помощь будет оценена!

Bazon

4b9b3361

Ответ 1

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

Должен сделать трюк. Квадратные скобки позволяют вам индексировать на основе логического выражения.

Ответ 2

Вы также можете сделать

subset(df, aged <= laclen)

Ответ 3

Если вы используете пакет dplyr, вы можете сделать:

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