[英]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 tbl
, tbl_df
,和dataframe
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.