繁体   English   中英

应用于R中的嵌套列表

[英]Lapply in a nested list in R

我正在尝试将函数应用于嵌套列表。 我有以下列表:

lista_a <- list("PEC", "45", "1991")
lista_b <- list("PL", "4580", "1990")
lista_c <- list("PL", "200", "1980")

嵌套在以下列表中:

lista_final <- list(lista_a, lista_b, lista_c)

我想应用以下函数(它使用来自congressbr包的cham_votes函数):

funcao <- function(x){ tryCatch(do.call(cham_votes, x), error=function(e){NA})}

lista_final每个元素。 我正在尝试使用do.call,因为cham_votes具有三个输入(类型,数字和年份),并且我想同时使用它们,因此我需要一个列表。

您是否知道如何将该函数一次lista_final所有元素? 最终结果应该是数据帧列表。

谢谢你的帮助。

函数cham_votes()期望最后两个参数是整数。 因此,您必须首先将它们转换如下:

listafinal <- lapply(listafinal, function(x) c(x[1], lapply(x[2:3], as.integer)))

然后,您只需使用lapply

lapply(lista_final, funcao)

这将返回元素的列表的每一个是相同的类型的函数的返回值的funcao()其是NA或类一tibble tbltbl_df ,和dataframe

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM