У меня есть кадр данных из 16968 строк (причины точности будут разъяснены ниже). Я проверяю, действительно ли текущая переменная (data$Ob) считает каждую строку в последовательном порядке (данные $Ob первой строки равны 1... данные последней строки $Ob равны 16968 и для каждой строки между ними.
Когда я запускаю сводку (данные $ Ob), он говорит мне, что максимум составляет 16970, а не 16968. Когда я запускаю max (data $ Ob), он говорит, что максимум составляет 16968, а не значение из сводки.
Я запустил цикл 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)
Спасибо.