Итак, у меня есть конфигурационный фрейм, который будет определять, как я хочу объединить несколько столбцов в другой фрейм.Агрегирование динамической базы данных с именами столбцов в строках из другого фрейма данных
конфигурации рамы:
conf <- rbind(
c("a", "cnt"),
c("b", "cnt")
)
И dataframe данных
dd <- data.frame(cbind(c("a1", "a1", "a1"), c("b1", "b1", "b2"), c(1, 2, 3)))
names(dd) <- c("a", "b", "cnt")
И я хочу, чтобы запустить в основном эту команду:
aggregate(cnt ~ paste(conf[, 1], collapse=" + "), data=dd, sum)
Какой бы идеально вернуться
output
a1 b1 3
a1 b2 3
Имеют смысл? Я чувствую, что мне не хватает чего-то с do.call или eval при получении динамических имен столбцов. Или, возможно, пересечение списка имен (dd) с conf [, 1]
Я думаю, вы имеете в виду 'COLNAMES (дд)' '..на имена (дд)' – agstudy
Вы должны быть в состоянии использовать '? as.formula' – Justin
as.formula было совершенно то, что я искал. Благодаря! – mcpeterson