我一直在嘗試使用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