gpt4 book ai didi

完全删除 r 中的 NA 行

转载 作者:行者123 更新时间:2023-12-03 18:39:25 24 4
gpt4 key购买 nike

一直在寻找这个,尽管它应该很简单,但我只找到了完整案例的解决方案或选择列的子集然后省略它们的 NA。就我而言,我有一个这样的数据框:

   vp01ob__0 vp01ob__1 vp01ob__2 vp01ob__3 vp01ob__4 vp01ob__5 vp01ob__6 vp01ob__7 vp01ob__8
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA
3 a NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA
7 NA b NA NA NA NA NA NA NA
这是一个非常稀疏的数据框,所以我只想保留包含一些信息的行,如下所示:
   vp01ob__0 vp01ob__1 vp01ob__2 vp01ob__3 vp01ob__4 vp01ob__5 vp01ob__6 vp01ob__7 vp01ob__8
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
3 a NA NA NA NA NA NA NA NA
7 NA b NA NA NA NA NA NA NA
完整的案例会丢弃所有内容,我找不到使用 filter_allna.omit() 的方法。任何帮助,将不胜感激。
谢谢!

最佳答案

我们可以使用 if_all

library(dplyr)
df1 %>%
filter(!if_all(everything(), is.na))
-输出
#vp01ob__0 vp01ob__1 vp01ob__2 vp01ob__3 vp01ob__4 vp01ob__5 vp01ob__6 vp01ob__7 vp01ob__8
#3 a <NA> NA NA NA NA NA NA NA
#7 <NA> b NA NA NA NA NA NA NA
或者使用 if_any
df1 %>%
filter(if_any(everything(), ~ !is.na(.)))
-输出
#vp01ob__0 vp01ob__1 vp01ob__2 vp01ob__3 vp01ob__4 vp01ob__5 vp01ob__6 vp01ob__7 vp01ob__8
#3 a <NA> NA NA NA NA NA NA NA
#7 <NA> b NA NA NA NA NA NA NA
数据
df1 <- structure(list(vp01ob__0 = c(NA, NA, "a", NA, NA, NA, NA), vp01ob__1 = c(NA, 
NA, NA, NA, NA, NA, "b"), vp01ob__2 = c(NA, NA, NA, NA, NA, NA,
NA), vp01ob__3 = c(NA, NA, NA, NA, NA, NA, NA), vp01ob__4 = c(NA,
NA, NA, NA, NA, NA, NA), vp01ob__5 = c(NA, NA, NA, NA, NA, NA,
NA), vp01ob__6 = c(NA, NA, NA, NA, NA, NA, NA), vp01ob__7 = c(NA,
NA, NA, NA, NA, NA, NA), vp01ob__8 = c(NA, NA, NA, NA, NA, NA,
NA)), class = "data.frame", row.names = c("1", "2", "3", "4",
"5", "6", "7"))

关于完全删除 r 中的 NA 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67792682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com