[英]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.