[英]Remove row if NA in BOTH columns
我正在嘗試刪除第 7 列和第 12 列中具有 NA 值的行。
我在這里找到了用於連續功能的 complete.cases 命令:
dataframe[complete.cases(dataframe[ , 5:6]),]
我嘗試了以下變體並得到了相關的錯誤:
dataframe[complete.cases(dataframe[ , 7,12]),]
invalid 'type' (list) of argument
dataframe[complete.cases(dataframe[ , c(7,12)]),]
Error in C(7, 12) : object not interpretable as a factor
dataframe[complete.cases(dataframe[ , 7 & 12]),]
invalid 'type' (list) of argument
我很確定我只是弄亂了一些基本語法,但我對此有點陌生並且畫了一個空白。 關鍵方面,是它需要在兩列中都有 NA ; 例如,如果它在 7 中有數據,但在 12 中有 NA,反之亦然,我想保留它。
您可以使用以下解決方案:
library(dplyr)
df %>% filter(!if_all(everything(), ~ is.na(.x)))
x y
1 1 NA
2 2 2
3 4 5
數據
structure(list(x = c(1, 2, NA, 4), y = c(NA, 2, NA, 5)), class = "data.frame", row.names = c(NA,
-4L))
您不妨將所需的列分配給.cols
參數。 在我的示例示例中,我選擇了everything()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.