私は 16968 行のデータ フレームを持っています (正確さの理由は以下で明らかになります)。実行中の変数 (data$Ob) が実際にすべての行を順番にカウントしているかどうかを確認しています (最初の行 data$Ob は 1...最後の行 data$Ob は 16968 で、その間のすべての行について.
summary(data$Ob) を実行すると、最大値は 16968 ではなく 16970 であることがわかります。max(data$Ob) を実行すると、最大値は 16968 であり、summary の値ではありません。
for ループを実行して各観測値をチェックしたところ、max() 関数が正しく、data$Ob 変数が想定どおりに機能しているように見えます。しかし、集計関数が 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)
ありがとう。