Я агрегировал несколько фреймов данных, которые были во входном списке, как это было (предположительно), предложенное Эндрю Густаром в просто агрегировать столбцы в нескольких фреймах данных R .
Здесь код, скопированный из вышеупомянутая страница.
Создание фреймов данных:
df1 <- data.frame(Count = c(1,2,3), ID = c("A","A","C"))
df2 <- data.frame(Count = c(1,1,2), ID = c("C","B","C"))
dfList <- list(df1,df2)
> head(dfList)
[[1]]
Count ID
1 1 A
2 2 A
3 3 C
[[2]]
Count ID
1 1 C
2 1 B
3 2 C
Агрегирование по столбцу «ID» (согласно предложению Эндрю Густара)
dfList_agg<-lapply(dfList, function(i) {
aggregate(i[,1], by=list(i[,2]), FUN=sum)
})
dflist_agg
[[1]]
Group.1 x
1 A 3
2 C 3
[[2]]
Group.1 x
1 B 1
2 C 3
Как вы Как видно выше, каждый фрейм данных в списке вывода имеет столбец с именем «Group.1» (содержащий столбец BY), а другой с именем «x» (содержащий обобщенные данные).
Вместо этого мне нужно присвоить каждому столбцу «x» имя соответствующего фрейма данных. Ссылаясь на пример, я хочу, чтобы оба столбца с именем «x» получили в списке выходных данных имена «df1» и «df2».
Кто-нибудь может помочь?
Заранее спасибо
Фабио