我很新于R,尝试将在Excel中进行的计算复制到R中。
我有一个像这样的数据框:
Component <- c("A", "B", "C")
Report_Time <- c(5781, 5781, 5781)
Interval <- c(700, 600, 800)
End_Time <- c(8281, 8281, 8281)
Start_Time <- c(800, 298, 780)
df <- data.frame(Component, Report_Time, Interval, End_Time, Start_Time)
打印出来的样子如下所示:
# Component Report_Time Interval End_Time Start_Time
#1 A 5781 700 8281 800
#2 B 5781 600 8281 298
#3 C 5781 800 8281 780
对于每个组件,我希望填充一个计算列"Interval_Time",它是开始时间+报告时间的总和,如果小于结束时间,则插入一行,其值为Interval_Time(最后一次求和)+ Interval。重复插入,直到Interval time的总和小于End_Time。
# Component Report_Time Interval End_Time Start_Time Interval_Time
#1 A 5781 700 8281 800 6581
#2 A 5781 700 8281 800 7281
#3 A 5781 700 8281 800 7981
#4 B 5781 1000 8281 298 6079
#5 B 5781 1000 8281 298 7079
#6 B 5781 1000 8281 298 8079
#7 C 5781 1200 8281 780 6561
#8 C 5781 1200 8281 780 7761
我一直在尝试在for循环中使用if语句来实现这个,但是一直没有成功。