我正在尝试rowSum
为实际列做一个。但是,我想包括UpTo
某些观察的最新值。这是数据框:
dat <- structure(list(Company = c("ABC", "DEF", "XYZ"), UpTo = c(NA,
"Q2", "Q3"), Actual.Q1 = c(100L, 80L, 100L), Actual.Q2 = c(50L,
75L, 50L), Forecast.Q3 = c(80L, 50L, 80L), Forecast.Q4 = c(90L,
80L, 100L)), .Names = c("Company", "UpTo", "Actual.Q1", "Actual.Q2",
"Forecast.Q3", "Forecast.Q4"), class = "data.frame", row.names = c("1",
"2", "3"))
Company UpTo Actual.Q1 Actual.Q2 Forecast.Q3 Forecast.Q4
1 ABC NA 100 50 80 90
2 DEF Q2 80 75 50 80
3 XYZ Q3 100 50 80 100
- 对于 company
ABC
,由于没有UpTo
日期,它只是Actual.Q1
+Actual.Q2
,即 150。 - 对于 company
DEF
,因为UpTo
日期是Q2
,所以它将是Actual.Q1
+Actual.Q2
,即 155。 - 对于 company
XYZ
,因为UpTo
日期是Q3
,所以它将是Actual.Q1
++ ,即 230Actual.Q2
。Forecast.Q3
生成的数据框如下所示:
Company UpTo Actual.Q1 Actual.Q2 Forecast.Q3 Forecast.Q4 SumRecent
1 ABC NA 100 50 80 90 150
2 DEF Q2 80 75 50 80 155
3 XYZ Q3 100 50 80 100 230
我已经尝试使用该rowSums
功能。但是,它不会使变量 生效UpTo
。任何帮助表示赞赏。谢谢!