gpt4 book ai didi

r - 访问嵌套列表中的数据框

转载 作者:行者123 更新时间:2023-12-04 08:22:26 24 4
gpt4 key购买 nike

我有一个包含三种不同类型数据集的列表,每种类型有十个数据集。它看起来像这样:

mat1 <- replicate(n=10,data.frame(matrix(data=rnorm(20,0,1),nrow=5,ncol=5)),simplify=FALSE)
mat2 <- replicate(n=10,data.frame(matrix(data=rnorm(20,0,1),nrow=5,ncol=5)),simplify=FALSE)
mat3 <- replicate(n=10,data.frame(matrix(data=rnorm(20,0,1),nrow=5,ncol=5)),simplify=FALSE)
combined <- list(mat1,mat2,mat3)
我想对每个数据集应用相同的函数,但我不知道如何访问它们。我尝试使用 purrr 中的 map,但它仅将其应用于列表中的第一个:
map(combined[[i]],~length(.))

[[1]]
[1] 5

[[2]]
[1] 5

[[3]]
[1] 5

[[4]]
[1] 5

[[5]]
[1] 5

[[6]]
[1] 5

[[7]]
[1] 5

[[8]]
[1] 5

[[9]]
[1] 5

[[10]]
[1] 5
如何将函数应用于嵌套列表中的所有数据集?
*功能比 length复杂- 这是我需要使用 ~function 访问的另一个包中的函数

最佳答案

您可以申请 lengthscombined 中的每个列表中:

lapply(combined, lengths)

#[[1]]
# [1] 5 5 5 5 5 5 5 5 5 5

#[[2]]
# [1] 5 5 5 5 5 5 5 5 5 5

#[[3]]
# [1] 5 5 5 5 5 5 5 5 5 5
使用 purrrmap :
purrr::map(combined, lengths)

length只是一个例子,你想要一种通用的方法来将一个函数应用到你可能使用嵌套的每个嵌套列表 lapply :
lapply(combined, function(x) lapply(x, function(y) length(y)))
或使用 rapply :
rapply(combined, length, how = 'list')

关于r - 访问嵌套列表中的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65437299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com