用循环求和多个语句?

时间:2019-04-23 12:13:41

标签: r loops shift which

我正在r中的大df中计算新变量。我写了一些代码来填充我的空白单元格:

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中编写过循环,也不知道如何解决这个问题。

提前谢谢!

0 个答案:

没有答案