Вы можете циклически проходить по столбцу, хотя вы должны внести небольшие изменения в свой синтаксис.
Если вы хотите проиндексировать ваш фрейм данных с именем столбца, хранящимся в переменной (в вашем цикле имена хранятся в переменной цикла i
), вы можете получить доступ к столбцу следующими способами:
1.) С помощью синтаксиса подмножества base-R вы должны использовать [,i]
для подстановки нужного столбца:
df[,i]
ПРИМЕЧАНИЕ: df$i
здесь не будет работать.
2.) В dplyr
функциях вы должны преобразовать свою символьную переменную i
в имя вашего фрейма данных в смысле dplyr. Это можно сделать с помощью функции as.name
. Затем вы должны оценить имя, чтобы функции dplyr могли с ним работать. Это делается с помощью функции !!
("bang-bang"):
df %>% select(!!as.name(i))
или в вашем случае:
SUM <- NEW %>%
group_by(Date) %>%
summarise(Value = weighted.mean(!!as.name(i), Weights))
В противном случае ваш синтаксис выглядит нормально, просто просматривайте набор имен и индексируйте кадр данных, как я описал. Надеюсь, это ответит на ваш вопрос.