gpt4 book ai didi

arrays - 将行优先维度切换为列优先维度

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

我将行主数据作为向量放入 R 中。 R 将此解释为列主要数据,据我所知,无法告诉数组以行主要方式运行。

假设我有:

array(1:12, c(3,2,2), 
dimnames=list(c("r1", "r2", "r3"), c("c1", "c2"),c("t1", "t2"))
)

这给出:

, , t1

c1 c2
r1 1 4
r2 2 5
r3 3 6

, , t2

c1 c2
r1 7 10
r2 8 11
r3 9 12

我想将此数据转换为行优先数组:

, , t1
c1 c2
r1 1 2
r2 3 4
r3 5 6

, , t2

c1 c2
r1 7 8
r2 9 10
r3 11 12

最佳答案

假设您的数组位于 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

关于arrays - 将行优先维度切换为列优先维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12859215/

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