这个问题在网上已经问了好几次了,每次我都读到了同样的答案;但在我这里还是不行。我不知道我做错了什么.我想从我的名为 "join_file "的文件中删除所有有一个或多个NA的行。
joined_file[complete.cases(joined_file), ]
为什么还是返回 "undefined columns selected"?在我看来,NA值不是字符串,因为没有""。(这是一个NA行的例子)
word auditory gustatory haptic olfactory visual concreteness freq_by_million
NA <NA> NA NA NA NA NA NA NA
dominant_position
NA <NA>
最安全、最简单的删除行的方法,有 NA
是通过 na.omit
:
na.omit(df)
col1 col2 col3 col4 col5
2 C A B C A
3 A B B B A
4 C B C C A
9 B A A A A
数据。
set.seed(123)
df <- data.frame(
col1 = sample(c(NA, LETTERS[1:3]), 10, replace = T),
col2 = sample(c(NA, LETTERS[1:3]), 10, replace = T),
col3 = sample(c(NA, LETTERS[1:3]), 10, replace = T),
col4 = sample(c(NA, LETTERS[1:3]), 10, replace = T),
col5 = sample(c(NA, LETTERS[1:3]), 10, replace = T))
df
col1 col2 col3 col4 col5
1 A C C C <NA>
2 C A B C A
3 A B B B A
4 C B C C A
5 C <NA> B <NA> <NA>
6 <NA> C B A <NA>
7 B <NA> B C <NA>
8 C <NA> B <NA> A
9 B A A A A
10 A C <NA> <NA> C
假设和说明: 如果你有数据框架,下面的内容应该可以用。此外,总是提供样本数据,使用 dput(head(your_data_frame))
就像其他几个人说的那样,这样可以快速帮助你。
library(dplyr)
#> Warning: package 'dplyr' was built under R version 3.6.3
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
library(tidyr)
#> Warning: package 'tidyr' was built under R version 3.6.3
df <- tribble(~col1, ~col2, ~col3,
NA,1,NA,
2,3,5,
NA,NA,NA)
df %>% drop_na()
#> # A tibble: 1 x 3
#> col1 col2 col3
#> <dbl> <dbl> <dbl>
#> 1 2 3 5
df %>% drop_na(col2)
#> # A tibble: 2 x 3
#> col1 col2 col3
#> <dbl> <dbl> <dbl>
#> 1 NA 1 NA
#> 2 2 3 5
创建于2020-05-18由 重读包 (v0.3.0)