楼主: dark293
873 5

[问答] matrix shuffle in R 对矩阵进行node permutation [推广有奖]

  • 0关注
  • 0粉丝

高中生

82%

还不是VIP/贵宾

-

威望
0
论坛币
11 个
通用积分
0
学术水平
3 点
热心指数
5 点
信用等级
0 点
经验
289 点
帖子
20
精华
0
在线时间
37 小时
注册时间
2016-3-10
最后登录
2023-7-16

楼主
dark293 发表于 2020-5-21 22:31:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位好,我有一个N*N的矩阵,我想保持矩阵中间的数值不变,随机打乱N个个体的顺序,如下图所示。请问如何通过R软件实现,感激不尽!

微信图片_20200521223024.jpg
二维码

扫码加我 拉你入群

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

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

关键词:Permutation Mutation shuffle matrix ATION

沙发
llb_321 在职认证  发表于 2020-5-22 09:56:29
原矩阵A,shuffle后矩阵B:
B=A #复制矩阵
colnames(B)<-sample(colnames(A),dim(A)[2]) #随机取A矩阵列名作为B矩阵列名
rownames(B)<-sample(rownames(B),dim(A)[1]) #B矩阵行名
#以上是行名列名顺序不同的方法
#如需要行名列名顺序相同,只需将sample的序列赋值给中间向量,再用中间向量作为行名和列名即可

藤椅
dark293 发表于 2020-5-22 15:30:25
llb_321 发表于 2020-5-22 09:56
原矩阵A,shuffle后矩阵B:
B=A #复制矩阵
colnames(B)
非常感谢您的回复!我在执行上述命令时报错了,Error in sample.int(length(x), size, replace, prob) :
  invalid first argument,不太明白是怎么回事。

另,我确实需要得到shuffle后行名和列名顺序相同的矩阵。您告诉了方法,但我不知道具体该怎么实现。可以麻烦再说细一点吗?耽误您时间了,谢谢!

板凳
llb_321 在职认证  发表于 2020-5-22 19:05:51
dark293 发表于 2020-5-22 15:30
非常感谢您的回复!我在执行上述命令时报错了,Error in sample.int(length(x), size, replace, prob) :  ...
不好意思,种菜去了,才回来。
之前的,只是个示例,报错的原因可能是你没改成你的矩阵名称。
按照你的要求,重写了一下,仍然只是示例,因为我也不知道你的原矩阵是什么,你只要把代码中的A改成原矩阵的名称就可以了,另外你的原矩阵必须有列名和行名才行。

a<-matrix(runif(100,1,100),10)
colnames(A)<-c("A2","b3",letters[3:10])
rownames(A)<-c("A2","b3",letters[3:10])
#以上是建一个示例矩阵,与你要做的任务没有关系,
#以下的代码才是你需要的,只要把代码中的两处A改成你的矩阵名就可以

shuffle<-sample(colnames(A),dim(A)[2]) #随机取A矩阵的列名作为B矩阵行列名
B=A #复制矩阵
colnames(B)<-shuffle
rownames(B)<-shuffle

报纸
dark293 发表于 2020-5-23 11:40:52
llb_321 发表于 2020-5-22 19:05
不好意思,种菜去了,才回来。
之前的,只是个示例,报错的原因可能是你没改成你的矩阵名称。
按照你的 ...
问题解决了,非常感谢您的耐心回复。我晚上在做实验,刚补觉起床,再次感谢!

地板
dark293 发表于 2020-5-23 17:52:11
llb_321 发表于 2020-5-22 19:05
不好意思,种菜去了,才回来。
之前的,只是个示例,报错的原因可能是你没改成你的矩阵名称。
按照你的 ...
兄台,您好!
请教一下,如何实现保持矩阵行、列名称不变(对称矩阵),个体自身之间的值始终为0(对角线始终为0),打乱不同个体间的数值呢?如下图所示。我只会按行或列打乱数据,但那样的话,矩阵结构就变了,就不是对称矩阵了。不知道我讲清楚了没。

麻烦您不吝赐教,谢谢!

微信图片_20200523174638.png


微信图片_20200523174531.jpg (96.55 KB)

微信图片_20200523174531.jpg

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 08:44