【发布时间】:2021-09-25 18:28:04
【问题描述】:
大家早上好。
我有一个函数,它使用列表作为参数,通过将元素提取到 df 中来生成不同的指标。但是,我打算使用的列表具有不同的层级,因此我不能在所有列表上都使用它。
我在下面给出一个例子(不是真正的功能):
# the function pulls out a df from a list
df_func <- function(list){
df_temp <- list[[1]]
return(df_temp)
}
data("iris")
list_a <- list("list_a" = iris, "list_b" = iris,
"list_c" = iris, "list_d" = iris)
list_b <- list()
list_b[["list_a"]] <- list_a
list_b[["list_b"]] <- list_a
list_b[["list_c"]] <- list_a
list_b[["list_d"]] <- list_a
df1 <- df_func(list_a) # correct (returns a df)
df2 <- df_func(list_b) # wrong (returns a list of dfs)
我知道问题在于,要从list_a 访问正确的元素,我们使用list_a[[1]],而要从list_b 提取正确的元素,我们必须使用list_b[[1]][[1]]。
我的问题是,如何在函数中对此进行编码,以便 R 知道在哪里寻找我需要的 df?
感谢大家对新手的帮助。
【问题讨论】:
标签: r list dataframe extract hierarchy