сумма множителей, какие операторы с циклом? - PullRequest
0 голосов
/ 23 апреля 2019

Я вычисляю новую переменную в большом df в r.Я написал код, который заполняет мои пустые ячейки:

data2$departure_time[which(data2$No=="3" & data2$Key=="300111")]<-data2$departure_time[which(data2$No== "2" & data2$Key=="300111")] + data2$travel_time[which(data2$No=="2" & data2$Key=="300111")] + data2$waiting_time[which(data2$o=="2" & data2$Key=="300111")] это работает до сих пор.все же мне нужно каждый раз адаптировать No -статмент в коде.Что нужно сделать, это просто добавить 1 к каждому No утверждению.Таким образом, результат будет:

data2$departure_time[which(data2$No=="4" & data2$Key=="300111")]<-data2$departure_time[which(data2$No== "3" & data2$Key=="300111")] + data2$travel_time[which(data2$No=="3" & data2$Key=="300111")] + data2$waiting_time[which(data2$o=="3" & data2$Key=="300111")] И так далее.

Я пытался внедрить for-loop в свой код, так как я думал, что я был бы самым простым решением.Поэтому я попробовал следующее:

for(in in 3:40){data2$departure_time[which(data2$No=i & data2$Key=="300111")]<-for(j in 2:40){data2$departure_time[which(data2$No= j & data2$Key=="300111")] + data2$travel_time[which(data2$No= j & data2$Key=="300111")] + data2$waiting_time[which(data2$No=j & data2$Key=="300111")]}}

К сожалению, это не сработало.Я никогда не писал цикл в R и не знаю, как это решить иначе.

Заранее спасибо!

...