我有一个16968行的数据框(下面会解释为什么要这么多行)。我正在检查一个变量(data$Ob)是否按顺序计算每一行(第一行data$Ob是1,最后一行是16968,中间的每一行都有相应的值)。
当我运行summary(data$Ob)时,它告诉我最大值是16970而不是16968。但当我运行max(data$Ob)时,它显示最大值为16968而不是summary函数返回的值。
我运行了一个for循环来检查每个观测值,看起来max()函数是正确的,而data$Ob变量也在按照预期工作。但有没有人知道为什么summary函数会差2?我猜是舍入误差(不知何故?),但这个数据检查对我的分析至关重要,如果它错了,那么我的后续分析就毫无意义了。
这是我运行的for循环,但我认为这并不是这个问题的关键。
checker <- vector(length=nrow(rd))
na.checker <- vector(length=nrow(rd))
for (i in 1:nrow(rd)){
checker[i] <- ifelse(i==rd$Ob[i], 1, 0)
na.checker[i] <- ifelse(is.na(rd$Ob[i])==TRUE,0,1)
}
sum(checker)
感谢。