如何在 R 中用 NA 或其他值替换用空格记录的缺失值?
有时,当我们在 R 中读取数据时,缺失值会被记录为空格,很难将它们替换为任何值。其原因是我们需要知道在缺失值位置使用了多少空格。如果我们知道这一点,那么赋值就很容易了。
示例
考虑一下向量 x 和 y 的以下数据框。
> x<-c("", 3,2,1,2,3,2,1," ", 43, "")
> y<-c(1,2,"", 43,2," ", 3,2,3,"", 7)
> df<-data.frame(x,y)
> df
x y
1 1
2 3 2
3 2
4 1 43
5 2 2
6 3
7 2 3
8 1 2
9 3
10 43
11 7这里,我们有记录为空格的缺失值,以及仅仅用双引号表示的缺失值。现在让我们将这些缺失值替换为 NA,如下所示:
> df[df==""]<-NA
> df
x y
1 <NA> 1
2 3 2
3 2 <NA>
4 1 43
5 2 2
6 3
7 2 3
8 1 2
9 3
10 43 <NA>
11 <NA> 7这里,x 中的第九个值和 y 中的第六个值没有被替换,因为空格的数量不同,所以我们需要指定它们。首先,通过查看向量来读取空格的数量,如下所示:
> x [1] "" "3" "2" "1" "2" "3" "2" "1" " " "43" "" > y [1] "1" "2" "" "43" "2" " " "3" "2" [9] "3" "" "7"
x 的第九个值似乎有一个空格,y 的第六个值似乎有五个空格。现在让我们更改 x 的 df,如下所示:
> df[df==" "]<-NA
> df
x y
1 <NA> 1
2 3 2
3 2 <NA>
4 1 43
5 2 2
6 3
7 2 3
8 1 2
9 <NA> 3
10 43 <NA>
11 <NA> 7现在我们将显示 y 的 df,如下所示:
> df[df==" "]<-NA
> df
x y
1 <NA> 1
2 3 2
3 2 <NA>
4 1 43
5 2 2
6 3 <NA>
7 2 3
8 1 2
9 <NA> 3
10 43 <NA>
11 <NA> 7现在,我们有了包含 NA 和其他数字的完整数据框。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP