6354 2

[学习分享] aperm函数应用方法 [推广有奖]

  • 5关注
  • 8粉丝

已卖:376份资源

博士生

38%

还不是VIP/贵宾

-

威望
0
论坛币
3141 个
通用积分
73.8548
学术水平
37 点
热心指数
36 点
信用等级
23 点
经验
33667 点
帖子
298
精华
0
在线时间
141 小时
注册时间
2012-11-23
最后登录
2022-9-18

楼主
奇渥温·沙加 发表于 2016-1-31 21:12:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
aperm函数是处理矩阵的一个函数,可以进行维、行、列进行转换,主要使用方法是aperm(X,c(1,2,3)),其中1表示行,2表示列,3表示维度,由于国内一些教材讲解不详细,这里详细的讲解一下,详见例子:
> d<-array(1:24,dim=c(2,3,4))
> d
, , 1

     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

, , 2

     [,1] [,2] [,3]
[1,]    7    9   11
[2,]    8   10   12

, , 3

     [,1] [,2] [,3]
[1,]   13   15   17
[2,]   14   16   18

, , 4

     [,1] [,2] [,3]
[1,]   19   21   23
[2,]   20   22   24

上面构建一个维度为4,列为3列,每个矩阵行维2的阵。然后运用aperm函数:
> e<-aperm(d,c(2,3,1))#表示原来行的个数变成了维度的个数,即原来每个矩阵有两行,则现在维度是2;原来列是三列,现在变成行数为三行;原来维度为四,现在列的个数为四。aperm()中c()向量中第一个位置表示的是对行的调整,第二个位置表示对列的调整,第三个位置对维度的调整,如果对一维矩阵进行调整,则可以不用第三位置。见后面的例子。
> e
, , 1

     [,1] [,2] [,3] [,4]
[1,]    1    7   13   19
[2,]    3    9   15   21
[3,]    5   11   17   23

, , 2

     [,1] [,2] [,3] [,4]
[1,]    2    8   14   20
[2,]    4   10   16   22
[3,]    6   12   18   24
这个例子是处理一维矩阵。
> f<-matrix(1:6,ncol=2)
> f
     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6
> g<-aperm(f,c(2,1))#表示对矩阵进行变换,即原来矩阵列为2,现在变成行为两行;原来行是3行,现在变为列是三行。这样就和转置矩阵t()的效果一样。
> g
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:aperm函数 应用方法 ERM APE

已有 1 人评分经验 收起 理由
李会超 + 60 精彩帖子

总评分: 经验 + 60   查看全部评分

沙发
yeboyuan 发表于 2016-4-22 15:55:18
这个回答很到位,明白了

藤椅
happy学 发表于 2018-4-22 14:44:55
谢谢解答!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-17 08:51