我将R作为主要数据作为向量.R将此解释为列主要数据,据我所知,没有办法告诉数组以行主要方式运行.
比方说我有:
array(1:12, c(3,2,2),
dimnames=list(c("r1", "r2", "r3"), c("c1", "c2"),c("t1", "t2"))
)
Run Code Online (Sandbox Code Playgroud)
这使:
, , t1
c1 c2
r1 1 4
r2 2 5
r3 3 6
, , t2
c1 c2
r1 7 10
r2 8 11
r3 9 12
Run Code Online (Sandbox Code Playgroud)
我想将此数据转换为行主数组:
, , t1
c1 c2
r1 1 2
r2 3 4
r3 5 6
, , t2
c1 c2
r1 7 8
r2 9 10
r3 11 12
Run Code Online (Sandbox Code Playgroud)
假设您的阵列已经存在a,即您已经拥有此阵列且无法在读取时更改它,则以下内容将起作用:
a <- array(1:12, c(3,2,2),
dimnames=list(c("r1", "r2", "r3"), c("c1", "c2"),c("t1", "t2")))
b <- aperm(array(a, dim = c(2,3,2),
dimnames = dimnames(a)[2:1]),
perm = c(2,1,3))
b
> b
, , 1
c1 c2
r1 1 2
r2 3 4
r3 5 6
, , 2
c1 c2
r1 7 8
r2 9 10
r3 11 12
Run Code Online (Sandbox Code Playgroud)