如何只删除 R 中所有 NA 的行?
How to remove only rows that have all NA in R?
我有一个数据框,其中只有一些行全部为 NA。
如何遍历并删除所有这些行?
我尝试了 na.omit() 但这不起作用。
在此示例中,我需要删除第 3 行和第 5 行
x1 <- c("Bob", "Mary","","Jane","")
x2 <- c("Bob","Mary","","Jane","")
x3 <- c("Bob", "Mary","","Jane","")
x4 <- c("Bob","Mary","","Jane","")
df <- data.frame(x1,x2,x3,x4)
df <- df %>% na.omit()
这是一个选项;首先你需要定义 NA 模式。
df[df == ""] <- NA # define NA pattern
df[rowSums(is.na(df)) != ncol(df), ] # result
# Try with x1 <- c("Bob", "Mary","","","")
> df[rowSums(df=="")!=ncol(df), ]
x1 x2 x3 x4
1 Bob Bob Bob Bob
2 Mary Mary Mary Mary
4 Jane Jane Jane Jane
我有一个数据框,其中只有一些行全部为 NA。 如何遍历并删除所有这些行? 我尝试了 na.omit() 但这不起作用。 在此示例中,我需要删除第 3 行和第 5 行
x1 <- c("Bob", "Mary","","Jane","")
x2 <- c("Bob","Mary","","Jane","")
x3 <- c("Bob", "Mary","","Jane","")
x4 <- c("Bob","Mary","","Jane","")
df <- data.frame(x1,x2,x3,x4)
df <- df %>% na.omit()
这是一个选项;首先你需要定义 NA 模式。
df[df == ""] <- NA # define NA pattern
df[rowSums(is.na(df)) != ncol(df), ] # result
# Try with x1 <- c("Bob", "Mary","","","")
> df[rowSums(df=="")!=ncol(df), ]
x1 x2 x3 x4
1 Bob Bob Bob Bob
2 Mary Mary Mary Mary
4 Jane Jane Jane Jane