Набор данных, с которым я работаю, имеет среднее количество поездок по различным видам транспорта c и в разные годы. Я заинтересован в создании новой колонки, показывающей увеличение среднего пассажиропотока по сравнению с предыдущим годом для каждого вида транспорта c. Код, который я пытался использовать, выглядит следующим образом:
for (i in 1:length(public_trans$type_of_public_transport)) {
if (public_trans$type_of_public_transport[i] == public_trans$type_of_public_transport[i+1]) {
ridership_diff[i] <- ifelse(public_trans$average_ridership == 0, 0, public_trans$average_ridership[i+1] - public_trans$average_ridership[i])
next}}
Код, который я запускаю, выглядит так: «Ошибка в if (public_trans $ type_of_public_transport [i] == public_trans $ type_of_public_transport [i +: отсутствует») значение, в котором требуется значение ИСТИНА / ЛОЖЬ. Дополнительно: было 50 или более предупреждений (используйте предупреждения (), чтобы увидеть первые 50) "
Путем изменения начала l oop с" 1: длина (public_trans) $ type_of_public_transport)) "to" 0: length (public_trans $ type_of_public_transport)) ", ошибка вывода становится такой:" Ошибка в if (public_trans $ type_of_public_transport [i] == public_trans $ type_of_public_transport [i +: аргумент нулевой длины "
Кроме того, даже если мой код работал, я уверен, что есть более простой и прямой способ получить желаемый результат.