gpt4 book ai didi

r - 将函数应用于列表上的元素

转载 作者:行者123 更新时间:2023-12-04 11:54:02 25 4
gpt4 key购买 nike

对不起,这个简单的问题,但我想不出一个好方法来获取数据框列表的函数元素。我确信 plyr/reshape2 包中有一些东西,但我只是想不出来。

例如,我有一个列表 A 如下:

>A
[[1]]
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1 1 1 1 1 1 1 1 1 1
[2,] 1 1 1 1 1 1 1 1 1 1
[3,] 1 1 1 1 1 1 1 1 1 1
[4,] 1 1 1 1 1 1 1 1 1 1
[5,] 1 1 1 1 1 1 1 1 1 1

[[2]]
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 2 2 2 2 2 2 2 2 2 2
[2,] 2 2 2 2 2 2 2 2 2 2
[3,] 2 2 2 2 2 2 2 2 2 2
[4,] 2 2 2 2 2 2 2 2 2 2
[5,] 2 2 2 2 2 2 2 2 2 2

假设我想对列表中矩阵的相应元素求平均值。一种方法是
Reduce("+",A)/length(A)

我似乎无法喂食 Reduce()更复杂的功能,并假设一般有更好的方法。

最佳答案

在这种情况下,也许您最好将数据放在 array 中。而不是一个列表?

#Recreate data
A <- list(a=matrix(1,5,10),b=matrix(2,5,10))

#Convert to array
A1 <- array(do.call(cbind,A),dim = c(5,10,2))

#Better way to convert to array
require(abind)
A1 <- abind(A,along = 3)

#Now we can simply use apply
apply(A1,c(1,2),mean)

关于r - 将函数应用于列表上的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7085110/

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