小编Arh*_*ala的帖子

将函数应用于具有分组变量的多维数组

我有我认为是一个简单的问题,但我找不到合适的答案.我有一个多维数组v[x,y,z],我想使用分组变量(组)沿z维度向数组应用一个函数.这是一个例子(在R中):

v<-1:81
dim(v)<-c(3,3,9)
group<-c('a','a','a','b','b','b','c','c','c')
Run Code Online (Sandbox Code Playgroud)

鉴于分组变量有3个级别(a,bc),我正在寻找的结果(out)是一个维度为3x3x3的数组.我可以使用以下代码获取以上示例:

out1<-apply(v[,,c(1:3)],c(1,2),sum)
out2<-apply(v[,,c(4:6)],c(1,2),sum)
out3<-apply(v[,,c(7:9)],c(1,2),sum)

library(abind)
out<-abind(out1, out2, out3, along=3) 
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否有一种获得上述结果的一般方法,可以应用于大维数组和长分组向量.

r

8
推荐指数
3
解决办法
1191
查看次数

标签 统计

r ×1