关于删除包含NA的行drop_na()
,有各种各样的问题,但我还没有找到一个解决我的特殊需要。我想删除包含NA的行中的每一个3特定列。在这种情况下,删除包含NA的行value2
和value3
和value4
,但不删除包含NA的行少于所有三个,或在任何其它列中。
sample <- c("sample1", "sample2", "sample3", "sample4", "sample5")
value1<- c("A", "B", "A", NA, "C")
value2 <- c(NA, 5, 7, NA, NA)
value3 <- c(13, NA, 7, NA, NA)
value4 <- c(11, 4, NA, 9, NA)
myinput <- data.frame(sample, value1, value2, value3, value4)
myinput
sample value1 value2 value3 value4
1 sample1 A NA 13 11
2 sample2 B 5 NA 4
3 sample3 A 7 7 NA
4 sample4 NA NA NA 9
5 sample5 C NA NA NA
字符串
所需输出:
sample value1 value2 value3 value4
1 sample1 A NA 13 11
2 sample2 B 5 NA 4
3 sample3 A 7 7 NA
4 sample4 NA NA NA 9
型
谢谢你,谢谢
4条答案
按热度按时间yzuktlbb1#
collapse::na_omit
:字符串
1,000,000 x 21数据集的基准:
collapse
速度快5 - 6倍:型
x1c 0d1x的数据
w51jfk4q2#
我们可以使用
is.na
和rowSums
来计算每行中NA
s的数量。base R
字符串
下载
型
wkyowqbh3#
使用
dplyr::if_all
,您可以:字符串
创建于2023-12-18带有reprex v2.0.2
4dbbbstv4#
在
filter
中使用across
字符串