【发布时间】:2015-12-03 00:08:58
【问题描述】:
整个向量没问题,没有NAs:
> summary(data$marks)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 6.00 6.00 6.02 7.00 7.00
> length(data$marks)
[1] 2528
但是,当尝试使用标准计算子集时,我收到很多 NAs:
> summary(data[data$student=="John",]$marks)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
1.000 6.000 6.000 6.169 7.000 7.000 464
> length(data[data$student=="John",]$marks)
[1] 523
【问题讨论】:
-
请提供一个可重现的例子。此外,我推荐
data[data$student=="John", "marks"]而不是data[data$student=="John",]$marks,它更传统且更易于阅读 -
student是否存在缺失值。如果student的任何值缺失,即使student=="John"没有缺失值并且marks也没有缺失值,您也会得到NAs。如果你这样做summary(data[which(data$student=="John"), ]$marks)会发生什么? -
是的,
student实际上缺少值。但是,如果我使用精确匹配指定了某些,其背后的逻辑是什么?那么有什么解决办法呢? -
NA 被
==-x <- c(1,2,NA); x[x==1]撤出
标签: r dataframe na missing-data