【发布时间】:2017-05-09 02:44:15
【问题描述】:
我想在 R 中使用 lapply。
此外,我的函数如下所示:
func_countries <- function(x){
Country <- x
Nrow <- nrow(data[which(data$country == x),])
Res <- list(Country, Nrow)
return(Res)}
Overview_countries <- unlist(lapply(countries_list, func_countries))
如何将 lapply 的结果显示到一个矩阵中,以便进一步计算?我尝试了以下方法,但没有帮助,因为数字不是数字加上我不能使用例如“$”来选择列。
Overview_countries <- matrix(Overview_countries, nrow=2, dimnames=list(c('Country', 'Numb_obs')))
Overview_countries <- t(Overview_countries)
【问题讨论】:
-
您可以使用
[[,而不是使用$。请提供一个小的可重现示例和预期输出。此外,如果“国家/地区”不是数字的,则 data.frame 输出会更好,因为matrix只能容纳一个类。所以,Res <- data.frame(Country, Nrow)在函数中使用do.call(rbind, lapply(countries_list, func_countires))