Select only rows if its value in a particular column is less than the value in the other column
I am using R and need to select rows with aged (age of death) less than or equal to laclen (lactation length). I am trying to create a new data frame to only include rows/ids whereby the value of column'aged' is less than its corresponding 'laclength' value.
df:
id1 id2 laclen aged
9830 64526 26 6
7609 64547 28开发者_Python百科 0
9925 64551 3 0
9922 64551 3 5
9916 64551 3 8
9917 64551 3 8
9914 64551 3 2
the new data frame should look like this:
dfnew:
id1 id2 laclen aged
9830 64526 26 6
7609 64547 28 0
9925 64551 3 0
9914 64551 3 2
Any help would be appreciated!
Bazon
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)
精彩评论