我一直在尝试使用dplyr在具有相同结构表的列表来总结几个表:可以dplyr总结了几个变量和表格的列表
LUZ_code Type1 Type2 Type3 Type4 country
AT001L2 90142 752310 70700 7368 AT
AT002L2 82693 193892 30264 496 AT
AT003L2 119690 203394 28737 420 AT
AT004L2 42259 85892 14512 189 AT
AT005L2 113768 59841 15464 224 AT
AT006L1 126001 102170 9344 134 AT
我已经在应用一些lapply脚本,所以现在我有一个名为国家名单内的表格。
如果我尝试用一个循环做到这一点:
for (i in 1:length(countries)){
years <- c("2010", "2030", "2030_ECL")
db <- as.data.frame(countries[i])[,-1]
db <- db %>%
group_by(country) %>%
summarise_each(funs(sum))
write.table(db, paste("country_conc",years[i], ".txt", sep = ""),
col.names = TRUE, row.names = FALSE, sep = "\t", quote = FALSE)
}
这似乎是没有问题的工作,但我不知道是否有与lapply做的一种方式。我尝试到目前为止是:
summarise <- function (db){
db <- (db)[,-1]
db <- db %>%
group_by(country) %>%
summarise_each(funs(sum))
return (db)
}
total <- lapply (concentration, summarise)`
我收到此错误信息:
错误总结(TBL,类型1 = SUM(类型1),2型= SUM(2型),类型3 = SUM(类型3 ),: 未使用的参数(类型1 =总和(类型1),2型=总和(类型2),类型3 =总和(类型3),类型4 =总和(类型4))”
感谢您的帮助,
lapply呼叫中的'浓度'是什么? – akrun
为什么不'bind_rows'表的列表(当分配一个ID),然后计算摘要? –
您可以使用'summarise_at()'或'summarise_if()'来指定您想要汇总的列。 – FlorianGD