Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NA和missing之间的区别是什么?如何在R中对它们进行编码?_R_Missing Data - Fatal编程技术网

NA和missing之间的区别是什么?如何在R中对它们进行编码?

NA和missing之间的区别是什么?如何在R中对它们进行编码?,r,missing-data,R,Missing Data,我对数据集进行了描述,说明如下: 不适用的NA编码为88888 丢失的数据编码为空白或99999 我认为NA等同于缺失的数据,这将使上述等效。或者“不适用”代表不可能的值,例如除以零?如果它们被视为等价物,我可以简单地将88899999和空格转换为NA。谢谢您的帮助。是的,NA相当于空单元格 您可以这样做以减小文件大小 data$column_with_8888s = ifelse(data$column_with_8888s == 8888, NA, data$column_with_8888

我对数据集进行了描述,说明如下:

不适用的NA编码为88888 丢失的数据编码为空白或99999
我认为NA等同于缺失的数据,这将使上述等效。或者“不适用”代表不可能的值,例如除以零?如果它们被视为等价物,我可以简单地将88899999和空格转换为NA。谢谢您的帮助。

是的,NA相当于空单元格

您可以这样做以减小文件大小

data$column_with_8888s = ifelse(data$column_with_8888s == 8888, NA, data$column_with_8888s)
缺失数据在R中为NA。如果您需要在此上下文中对缺失的定义稍有不同,则在查看汇总数据时,您必须根据问题设置或计算自己的基础

有时,在转换它们之前获取它们的计数是有用的

not_applicables <- lapply(mydata, function(x) sum(x == "88888") 
missings <- lapply(mydata, function(x) sum(x == "999999"))

mydata <- as.data.frame(lapply(mydata, function(x) {
     x[x %in% c('88888','99999') <- NA
     x 
}

亲爱的唐纳。反对票礼仪建议你在反对票上留下建设性的评论。否则,OP只能从失败中学习。如果不知道数据集的细节,很难判断。如果描述告诉您NA和missing的编码不同,可能有原因。对它们进行同样的编码可能不是最好的办法。@Mike H.我完全同意,这就是我怀疑的原因。但是,这是数据集描述中提供的唯一信息。但是我怎样才能区分它们呢?真正缺失的可能会随机缺失,但不适用的可能不会随机缺失。你在问一个关于数据清理的问题,但没有发布任何数据,所以很难说。例如,如果列是数字与字符,则可能有不同的方法。一个有一些数据和具体问题的可重复的例子会很有帮助
read.csv(..., na.strings = c("88888","99999"))