R中的na.strings = c()

时间:2017-08-18 22:44:26

标签: r na

我是R的新手,并开始与na.strings = c()一起探索read.csv功能。

我已经读过使用此选项,所有缺失的值都将替换为NA,但我没有看到我的文件中发生这种情况。尽管使用na.strings = c(),但我没有看到输出有任何差异。如果我错过了什么,请帮忙。在这两种情况下,我都会在 numeric 值缺失时看到NA,但在 char 值缺失时则看不到。那么,使用这个函数有什么用呢?

这是我的示例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

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:4)

  

使用此功能的用途是什么?

它用NA替换csv文件中的值(例如,字符,数字)。如果您尝试read.csv("filepath/R_NA.csv", na.strings = "A"),您会发现csv中的所有A都已被NA替换。

PS。 na.strings是参数,而不是函数。

答案 2 :(得分:0)

na.string将缺失的值替换为'NA'作为表示法。最好在数据清理过程开始时完成此操作。