Я использовал этот код для запуска сумм
Сначала несколько фиктивных данных-
Y <- c(356,392,127,127,437,392,392,450,155,181)
YearWeek <- c(201602,201602,201603,201603,201604,201604,201604,201605,201605,201605)
df <- as.data.frame(cbind(YearWeek,Y))
weeks <- as.data.frame(unique(df$YearWeek))
Вот текущий код для вычисления сумм
Container_weeks <- c()
for (i in 1:nrow(weeks)) {Container_weeks [i] <- sum(df$Y[df$YearWeek==weeks[i,] ], na.rm = FALSE) }
результатов
Container_weeks
[1] 748 254 1221 786
Я знаю, что это можно сделать разными способами, но мне нужно специально использовать функцию assign вместо приведенного выше кода. Я попробовал этот код ниже, но он не работает.
for (i in 1:nrow(weeks)) {assign(Container_weeks[i], sum(df$Y[df$YearWeek==weeks[i,] ], na.rm = FALSE)) }
Я получаю это сообщение об ошибке
Error in assign(Container_weeks[i], sum(df$Y[df$YearWeek == weeks[i, ]], :
invalid first argument
Я перепробовал все возможные конфигурации в функции назначения, такие как "Container_weeks" [i] "," Container_weeks "[i] et c. но ничего не работает. Можно ли это сделать с помощью assign? Как уже упоминалось, вычисление суммы может быть выполнено многими способами, но мне нужно использовать assign , чтобы я мог адаптировать ее к другим частям кода и используемой мной автоматизации. Любая помощь очень ценится. Заранее спасибо.