У меня есть набор данных, называемый "поездка", включающий 900 000 записей, показывающих поездки.У меня есть столбец с именем «ID», который показывает идентификатор человека для человека.Тем не менее, вот в чем дело.У одного человека может быть 1 поездка, поэтому для этого идентификатора есть только одна запись, но у другого человека может быть 7 поездок, в результате чего будет 7 строк (с тем же идентификатором).Затем у меня есть столбец под названием «Транспортный режим», который может иметь значения 1 (для автомобиля), 2 (для общественного транспорта), 3 (для прогулки) и 4 (для велосипеда), показывая различные варианты транспорта.Вот мои переменные:
ID: c (30001, 30002, 30002, 30002, 30002, 30002, 30002, 30002)
Затем у меня есть столбец с именем Transport_mode, относящийся к этим идентификаторам(поездки)
Transport_mode: c (1, 2, 4, 3, 2, 1, 2, 1)
Итак, я сделал пустую переменную public_fr для отображения частотыпоездок на общественном транспорте.Я хочу написать цикл, который подсчитывает количество общественного транспорта для любого идентификатора.Итак, я попробовал следующее:
for (i in 1:nrow(trip))
{for (j in 1:nrow(trip$ID))
{if (as.character(trip$Transport_mode[j] == 2)) (trip$public_fr[j] <- trip$public_fr[j] + 1)}
Этот код должен дать мне:
public_fr: c (0, 3)
0: потому что ID = 30001 не имеетпоездка на общественном транспорте (посмотрите на транспортный режим 1) и 3: потому что ID = 30002 имеет три поездки на общественном транспорте (потому что есть три 2). Однако, это не работает.Это дает ошибку:
Ошибка в 1: nrow (trip $ ID): аргумент длины 0
Можете ли вы помочь мне с этим?если есть аналогичный вопрос, пожалуйста, приведите ссылку.Благодаря.