Если вы действительно хотите это сделать, проблема заключается в вашем assign(...1) <- ...2
коде (... 1 - первые аргументы и ... 2 - вторые аргументы). Эту проблему легко решить, следуя доступной документации, выполнив help(assign)
и прочитав документацию. Правильная формулировка просто assign(...1, ...2)
, где ...1
будет именем переменной, а ...2
- значением переменной.
Однако! это крайне неэффективно, и, если вы хотите выполнить подобный код после этого, вы, скорее всего, ищете list
объекты.
dfs <- vector("list", 49)
#name the list of data.frames
names(dfs) <- paste0("v", 1:49, "_15_19")
for(i in 1:49)
dfs[[i]] <- p_15_19[, i+1]
В dfs
теперь у вас есть каждый лист в файле xts
, содержащий индексы [[1]], [[2]], ...
и так далее. На них также можно ссылаться по имени. Предполагая, что все они содержат только числовые переменные, проще выполнить сводную статистику, такую как mean
median
и т. Д. Или более сложные функции. Например, используя функцию lapply
(list-apply)
#calculate mean of each sheet and remove missing values.
lapply(dfs, mean, na.omit = TRUE)