全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1147 2
2016-09-30
数据处理过程中有多个矩阵,先以两个为例:
matr1
A        B        C        D        E
1        1        1        1        1
1        1        1        1        1
1        1        1        1        1


matr2
F        G        D        E
1        1        1        1
1        1        1        1
1        1        1        1
现在需要将两个矩阵都补齐列,就是交集列,空白的用数值0填充,最后的结果是:
matr1
A        B        C        D        E        F        G
1        1        1        1        1        0        0
1        1        1        1        1        0        0
1        1        1        1        1        0        0

matr2
A        B        C        D        E        F        G
0        0        0        1        1        1        1
0        0        0        1        1        1        1
0        0        0        1        1        1        1

请求大神们帮忙!!
二维码

扫码加我 拉你入群

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

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

全部回复
2016-10-2 10:36:25
mdat1 <- matrix(rep(1,15),3,5, dimnames = list(1:3,LETTERS[1:5]))
mdat2 <- matrix(rep(1,12),3,4, dimnames = list(1:3,c('F','G','D','E')))
n = union(colnames(mdat1),colnames(mdat2))
m1 = matrix(0,3,length(n), dimnames = list(1:3,n))
m2 = matrix(0,3,length(n), dimnames = list(1:3,n))
m1[,colnames(mdat1)] = mdat1
m2[,colnames(mdat2)] = mdat2
二维码

扫码加我 拉你入群

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

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

2016-10-6 22:28:28
czrdiao 发表于 2016-10-2 10:36
mdat1
m1[,colnames(mdat1)] = mdat1,是将m1中与mdat1中相同列名称的数据传递给m1吗?

按照您写的程序是输出正确的结果,怎么在处理我自己的数据时,就感觉嵌套了呢?

[[1]]
[1]   0   0 222 169 100  71  40  42  46  36  33  30  41  47  21  23  24   9  10
[20]  93

[[2]]
[1] 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1

[[3]]
[1]  0  0 12 20 19 15 13 13 20 10  8 10 13 15  5  7  4  0  2 46

[[4]]
[1]  0  0 34 40 29 21 10  9  6 13 15 12 13 18  9  9 10  5  2  9

[[5]]
[1] 0 0 0 0 0 0 0 0 0 2 0 0 1 0 0 0 0 0 0 1
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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