我想为实际栏目做一个rowSum
。不过,我希望将某些观察值的数值包含在UpTo
之前。这是该数据帧:R中的衣衫褴褛的rowsums
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
- 对于公司
ABC
,因为没有UpTo
日期,它将是Actual.Q1
+Actual.Q2
,这是150 - 对于公司
DEF
,因为UpTo
日期Q2
,这将是Actual.Q1
+Actual.Q2
,这是155 - 对于公司
XYZ
,因为UpTo
日期是Q3
,它将Actual.Q1
+Actual.Q2
+Forecast.Q3
,这是230
所得数据帧应该是这样的:
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
。任何帮助表示赞赏。谢谢!
如果它是NA,它只会是Q1 + Q2,因为如果没有指定最新日期,我们只想要实际值。 –