Tôi khá mới cho R và tôi đang cố gắng để sao chép một tính toán thực hiện trong Excel để R.
Tôi có một khung dữ liệu như thế này:Chèn hàng trong một dataframe dựa trên một tính
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)
Khi in nó trông như thế này:
# 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
đối với mỗi thành phần, tôi muốn để cư một cột tính "Interval_Time", mà là tổng của Start Time + Report_Time cho Thứ nhất, sau đó nếu nó là ít hơn END_TIME chèn một hàng với tổng của Interval_Time (Tổng cuối) + Interv al. Lặp lại chèn cho đến khi tổng trong khoảng thời gian Khoảng thời gian nhỏ hơn 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
Tôi đã cố gắng đạt được điều này nếu trong vòng lặp for .. nhưng chưa thành công.
Đừng bạn có ý nghĩa "Lặp lại chèn cho đến khi tổng trong khoảng thời gian Khoảng thời gian là ** lớn hơn ** ** End_Time **"? "End_T2ime" trông giống như lỗi đánh máy và bạn muốn dừng khi tổng lớn hơn. – steveb