Я пытаюсь сделать 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
- Для компании
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
. Любая помощь приветствуется. Спасибо!