Я хочу использовать lapply в R.Как преобразовать результаты из lapply в матрицу в R?
Кроме того моя функция выглядит следующим образом:
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))' – akrun