Для data.frame
, аналогичного приведенному ниже (в моем случае читается как .csv с очень большим количеством переменных), как заменить значение, скажем, переменной a
на сумму переменных a
и f
, на соответствующие даты?Я смог сделать это только длинными, неуклюжими способами.
library(lubridate)
timestep <- c("10/31/1921","11/30/1921","12/31/1921","1/31/1922","2/28/1922","3/31/1922","4/30/1922","5/31/1922","6/30/1922","7/31/1922","8/31/1922","9/30/1922",
"10/31/1921","11/30/1921","12/31/1921","1/31/1922","2/28/1922","3/31/1922","4/30/1922","5/31/1922","6/30/1922","7/31/1922","8/31/1922","9/30/1922",
"10/31/1921","11/30/1921","12/31/1921","1/31/1922","2/28/1922","3/31/1922","4/30/1922","5/31/1922","6/30/1922","7/31/1922","8/31/1922","9/30/1922",
"10/31/1921","11/30/1921","12/31/1921","1/31/1922","2/28/1922","3/31/1922","4/30/1922","5/31/1922","6/30/1922","7/31/1922","8/31/1922","9/30/1922",
"10/31/1921","11/30/1921","12/31/1921","1/31/1922","2/28/1922","3/31/1922","4/30/1922","5/31/1922","6/30/1922","7/31/1922","8/31/1922","9/30/1922",
"10/31/1921","11/30/1921","12/31/1921","1/31/1922","2/28/1922","3/31/1922","4/30/1922","5/31/1922","6/30/1922","7/31/1922","8/31/1922","9/30/1922")
value <- c(0,0,4474,7027,32458,20702,29682,53150,20632,0,0,0,0,0,26569,22253,0,1894,25018,7119,0,2289,0,988,0,0,0,3869,8138,0,0,0,0,0,950,0,0,158,6028,2086,67193,
4191,22303,5584,0,0,222,0,345,54,78,4545,2,4,0,0,186,113,256,4665,5756,78,34,20,323,3,0,0,9,354,299,8735)
variable <- c("a","a","a","a","a","a","a","a","a","a","a","a","b","b","b","b","b","b","b","b","b","b","b","b","c","c","c","c","c","c","c","c","c","c","c","c","d",
"d","d","d","d","d","d","d","d","d","d","d","e","e","e","e","e","e","e","e","e","e","e","e","f","f","f","f","f","f","f","f","f","f","f","f")
df <- data.frame(timestep, value, variable)
df$timestep <- mdy(df$timestep)
ExpectedValues <- c(5756,78,4508,7047,32781,20705,29682,53150,20641,354,299,8735,0,0,26569,22253,0,1894,25018,7119,0,2289,0,988,0,0,0,3869,8138,0,0,0,0,0,950,0,0,158,6028,2086,67193,
4191,22303,5584,0,0,222,0,345,54,78,4545,2,4,0,0,186,113,256,4665,5756,78,34,20,323,3,0,0,9,354,299,8735)
Expected_df <- data.frame(timestep, ExpectedValues, variable)