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