简体   繁体   中英

How to remove rows where columns satisfy certain condition in data frame

I have a data frame that looks like this

df <- data.frame(cbind(1:10, sample(c(1:5), 10, replace=TRUE)))
# in real case the columns could be more than two
# and the column name could be anything.

What I want to do is to remove all rows where the value of all its columns is smaller than 5. What's the way to do it?

df[!apply(df,1,function(x)all(x<5)),]

First of all ...please stop using cbind to create data.frames. You will be sorry if you continue. R will punish you.

df[ !rowSums(df <5) == length(df), ]

(The length() function returns the number of columns in a dataframe.)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM