У меня есть кадр данных из строки 16968 (причины точности указаны ниже). Я проверяю, действительно ли текущая переменная (данные $ Ob) фактически подсчитывает каждую строку в последовательном порядке (данные первой строки $ Ob - это 1 ... последние данные строки $ Ob - 16968 и для каждой строки между ними.Сводная функция Округление Ошибка в r?
Когда я побежал резюме (данные $ Ob) он говорит мне, что максимум 16970 не 16968. Когда я побежал максимум (данные $ Ob) он говорит, что максимум 16968, а не значение из резюме.
I запустил цикл for, чтобы проверить каждое наблюдение, и похоже, что функция max() правильная и что переменная $ Ob Ob Data делает то, что она должна. Но кто-нибудь знает, почему сводная функция отключена на 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)
Thanks.
+1 Я никогда не знал об этом. Кажется странным поведением по умолчанию для сводки целочисленного вектора. –
Бинго - спасибо Саймону. Я * знал, что я сам это видел, но это действительно вызвано только колонками. Будет редактировать снова. –