我有一个包含许多缺失值的数据集。一些缺失的值是NAs,一些是Null,而另一些则具有不同长度的空白。我想利用fread
中的R
函数将所有这些值都读取为缺失。
以下是一个例子:
#Find fake data
iris <- data.table(iris)[1:5]
#Add missing values non-uniformly
iris[1,Species:=' ']
iris[2,Species:=' ']
iris[3,Species:='NULL']
#Write to csv and read back in using fread
write.csv(iris,file="iris.csv")
fread("iris.csv",na.strings=c("NULL"," "))
V1 Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1: 1 5.1 3.5 1.4 0.2
2: 2 4.9 3.0 1.4 0.2 NA
3: 3 4.7 3.2 1.3 0.2 NA
4: 4 4.6 3.1 1.5 0.2 setosa
5: 5 5.0 3.6 1.4 0.2 setosa
从上面的例子中,我们看到我无法计算第一个缺失值,因为有很多空格。有人知道如何解释这个吗?
答案 0 :(得分:4)
非常感谢@eddi的精彩回答。
fread("sed 's/ *//g' iris.csv",na.strings=c("",NA,"NULL"))