Вот что я сделал, я столкнулся с некоторыми проблемами, чтобы заставить ваш код работать с примером, который вы мне играете в своем комментарии. Поэтому не стесняйтесь комментировать, чтобы я мог его улучшить.
# data from your comment
t <- ts(co2, frequency=12)
decomposed <- decompose(t)
# here starts the modifications you want to make to many decomposed-like objects
dat <- with(decomposed,data.frame(Observed = x, Trend = trend, Seasonal = seasonal, Random = random))
dat$Date <- seq(as.Date("yyyy-mm-dd"), as.Date("yyyy-mm-dd"), by = "week") # this lines creates an error
colnames(dat)[1] <- "Observed" # I do not understand this line as you have already renamed you column inside the "with()" function
colnames(dat)[4] <- "Random" # idem
Итак, я понимаю, что у вас есть много разложенных списков, и вы хотите применить к ним некоторые преобразования. Что бы я сделал, чтобы поместить все эти разложенные объекты в один список и использовать lapply()
, чтобы использовать функцию, которую вы определили для каждого из них. В целях примера я упростил вашу функцию.
t <- ts(co2, frequency=12)
decomposed <- decompose(t)
# create your function
function_ex = function(x) {
xx = with(decomposed,
data.frame(Observed = x,
Trend = trend,
Seasonal = seasonal,
Random = random))
}
# create a list of decomposed-like objects
example = list(a = decomposed, b = decomposed)
# and apply the function on them
output = lapply(example, FUN = function_ex) # output is also a list but you can do whatever you want with it such as extract all tables in your environment, etc.