MATRIX DATA 정렬 문의합니다-CORRELATION
몇 개의 dataset을 합치려고 합니다.
이 dataset은 correlation coefficient가 들어가있습니다.
만약 2 개의 dataset이 있다면,
1.dataset=6753 * 6753 matrix
2.dataset=5673 * 5673 matrix
1,2 dataset을 합하여 이렇게 만들고 싶습니다.(3 dataset).. 예를 들어서...
1.dataset A AA BA D ....
A 1.0 0.1 0.2 0.3
AA 0.1 1.0 0.7 0.5
BA 0.2 0.7 1.0 0.3
D 0.3 0.5 0.3 1.0
....
2.dataset AAAA F AA D ....
AAAA 1.0 0.3 0.7 0.3
F 0.3 1.0 0.5 0.5
AA 0.7 0.5 1.0 0.3
D 0.3 0.5 0.3 1.0
....
3. dataset 1.dataset 2.dataset
A&A 1.0 NA
AA&A 0.1 NA
BA&A 0.2 NA
D&A 0.5 0.3
AAAA&A NA 0.3
.....
이렇게요... 1. dataset 과 2.dataset을 정렬하는 것인데요.
일부 겹치는 것의 값을 일렬되게 표시하고
없는 것은 NA로 표시하고 싶습니다.
R"이나 python으로 어떻게 하면 될까요?
혼자 씨름하다가 도저히 안되서.. 문의드립니다.
감사합니다.
아, 여기 업데이트된 질문이 있군요... 이전 질문에
아, 여기 업데이트된 질문이 있군요... 이전 질문에 답글을 달았습니다만.
r.a <- rownames(a)
r.b <- rownames(b)
l.mat <- unique(r.a, r.b)
n.mat <- length(l.mat)
a.mat <- matrix(NA, nrow=n.mat, ncol=n.mat)
b.mat <- matrix(NA, nrow=n.mat, ncol=n.mat)
rownames(a.mat) <- colnames(a.mat) <- l.mat
rownames(b.mat) <- colnames(b.mat) <- l.mat
m.a <- match(r.a, l.mat)
a.mat[m.a,m.a] <- r.a
m.b <- match(r.b, l.mat)
b.mat[m.a,m.a] <- r.b
하면 a.mat 와 b.mat 에 각각에 맞는 원소가 들어갈 것 같습니다.
나머지는 이걸 출력하는 것이겠죠?
paste와 apply를 적당히 쓰면 금방 만드실 수 있을 것 같습니다.
댓글 달기