如何删除数据帧中整行为负值的行?
structure(list(name = c(1,-2,-6), data1 = c(1,-30,6),
data3 = c(1,-51,-6), score1 = c(0, -40, 10),
score2 = c(20, -25, 10)), class = "data.frame",
row.names = c(NA, -3L))
输出
name data1 data3 score1 score2
1 1 1 0 20
-6 6 -6 10 10
发布于 2021-09-25 16:04:03
如果为x > 0
,则检查rowSums
。
DF[rowSums(DF > 0) != 0, ]
# name data1 data3 score1 score2
# 1 1 1 1 0 20
# 3 -6 6 -6 10 10
发布于 2021-09-25 18:00:46
使用if_all
和negate (!
)
library(dplyr)
df1 %>%
filter(!if_all(where(is.numeric), ~ .x < 0))
name data1 data3 score1 score2
1 1 1 1 0 20
2 -6 6 -6 10 10
发布于 2021-09-25 15:44:14
您可以从dplyr
使用if_any
library(dplyr)
df %>%
filter(if_any(.cols = everything(),.fns = ~. > 0))
name data1 data3 score1 score2
1 1 1 1 0 20
2 -6 6 -6 10 10
https://stackoverflow.com/questions/69327680
复制相似问题