Не могли бы вы проверить форматы данных в вашей таблице, например, действительно ли Freq числовой?С приведенными ниже примерами данных ваш код работает для меня - см. Код ниже.В качестве дополнительного примечания было бы лучше, если бы вы не публиковали свои данные в виде рисунка, вместо этого использовали, например, dput(data)
и публиковали их выходные данные, чтобы другим было проще импортировать ваши данные и проверить их структуру.Вы можете соответствующим образом отредактировать свой вопрос.
В любом случае я хотел бы подчеркнуть, что для описываемой вами задачи вы не должны использовать цикл, а просто поднастроить свою таблицу, так как цикл будет недопустимо медленным для таких задач.с большими наборами данных.Я привел пример в конце кода ниже.
Titanic = as.data.frame(cbind(Survived = rep("No", 8), Freq = c(1,2,5,0,2,3,1,1)), stringsAsFactors = F)
# Survived Freq
# 1 No 1
# 2 No 2
# 3 No 5
# 4 No 1
# 5 No 2
# 6 No 3
# 7 No 1
# 8 No 1
most_lost <- 0
for (i in 1:dim(Titanic)[1]) {
if (Titanic$Survived[i] == "No") {
if (Titanic$Freq[i] > most_lost) {
most_lost <- Titanic$Freq[i]
}
print(most_lost)
}
}
# [1] "1"
# [1] "2"
# [1] "5"
# [1] "5"
# [1] "5"
# [1] "5"
# [1] "5"
# [1] "5"
max(Titanic[Titanic$Survived == "No", "Freq"])
# [1] "5"