我是R的新手,并开始与read.csv
一起探索na.strings = c()
函数。
我已经读到使用此选项,所有缺失的值都将替换为 NA,但我在我的文件中没有看到这种情况发生。尽管使用了na.strings = c()
,但我没有看到输出有任何差异.如果我错过了什么,请帮忙。在这两种情况下,当缺少数值时,我会看到 NA,但在缺少字符值时看不到。那么,使用这个功能有什么用呢?
这是我的示例 csv 文件:
Char,Numeric
A,3
B,
,5
和我的代码:
DF_withoutNA = read.csv("filepath/R_NA.csv",header = TRUE)
DF_with = read.csv("filepath /R_NA.csv",header = TRUE,
na.strings = c("Char","Numeric"))
head(DF_withoutNA)
Char Numeric
1 A 3
2 B NA
3 5
head(DF_with)
Char Numeric
1 A 3
2 B NA
3 5
na.strings
参数用于在文件正文中进行替换,即匹配应替换为NA
的字符串。 因此,在您的示例中,如果您传递空字符串""
它应该与您丢失的字符串匹配,该字符串是剥离的空格。
x <- read.csv("filepath/R_NA.csv",header=TRUE,na.strings=c(""))
x
Char Numeric
1 A 3
2 B NA
3 <NA> 5
使用这个函数有什么用?
它将csv文件中的值(例如,字符,数字(替换为NA
。如果您尝试read.csv("filepath/R_NA.csv", na.strings = "A")
,您会发现csv中的所有A
都被替换为NA
。
附言。na.strings
是参数,而不是函数。
na.string 将缺失的值替换为"NA"作为表示法。这需要在数据清理过程开始时最好完成。