全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1764 3
2019-04-03
10*1维向量 a<-[1, 1, 2, 1, 3, 2, 2, 1, 1, 3]想要转化成一个10*10的矩阵A,数量相同的地方,矩阵值为1.
例如:“2” 在第3,6,7位置,则A[3,6] = A[3,7] = A[6,3] = A[6,7] = A[7,3] = A[7,6] = 1

R语言中有没有一个函数可以直接做到这个,向量化成矩阵呀?不想写循环~
求好心人指点


二维码

扫码加我 拉你入群

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

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

全部回复
2019-4-3 21:56:32
那1和3呢?
二维码

扫码加我 拉你入群

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

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

2019-4-8 02:19:18
cheetahfly 发表于 2019-4-3 21:56
那1和3呢?
同样也是为1~我找到了一个函数可以这样做
二维码

扫码加我 拉你入群

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

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

2019-4-8 08:51:22
大概解决思路如下:

1.用which判断每个数字在哪个位置,并对每个数字做标记

2.用expand.grid产生一个N*2的矩阵,去除掉第1列与第2列相等的值得到矩阵M0

3.在一个10*10的矩阵M里,将M[M0] <- 1
即可得到你想到的了

二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群