2014-12-07 2 views
0

몇 가지 화학 물질의 여러 특성을 측정했지만 각 화학 물질의 모든 특성에 대한 가치가 없습니다.최소의 NAs와 함께 어떤 열을 페어링 할 수 있습니까?

내가 가장 많은 수의 데이터 포인트를 가질 수 있도록 분산 형 플롯의 X 및 Y 치수로 사용할 수있는 테스트를 알고 싶습니다.

내 시험이 닮은 경우 :

> mydata 
     testA testB testC testD 
chem1 0.6 0.2 NA 0.8 
chem2 0.1 NA 0.9 NA 
chem3 0.3 0.4 0.5 NA 

나는 "가장"데이터 포인트를했을 testC 대를 TestB 대 종피, 또는 테 스타를 나타내는이 같은 테이블을보고 싶습니다.

> mycounts 
     testA testB testC testD 
testA NA NA NA NA 
testB  2 NA NA NA 
testC  2  1 NA NA 
testD  1  1  0 NA 

나는 모양 변경, data.table 및 plyr와 약간의 경험을 가지고,하지만 난 이런 일을 수행하는 방법을 알아낼 수 없습니다.

답변

2

나는 당신이 정말 NA에 상위 DIAG을 설정해야하는 경우

 testA testB testC testD 
testA  3  2  2  1 
testB  2  2  1  1 
testC  2  1  2  0 
testD  1  1  0  1 

를 제공하고

x <- !is.na(as.matrix(mydata)) 
z <- crossprod(x,x) 
z 

같은 것을, 당신이

z[upper.tri(z, diag=T)]<-NA 
z 

을 할 수 원한다고 생각 얻을 수

 testA testB testC testD 
testA NA NA NA NA 
testB  2 NA NA NA 
testC  2  1 NA NA 
testD  1  1  0 NA 
+0

정확히 내가 무엇을 찾고 있었습니까. 나는 행렬 연산을 다듬어야한다고 생각합니다. 알다시피, 나는 당신이 과거에 익명으로 게시 한 다른 R 질문들 (영구적 인 계정없이)을 도와 주었다고 생각합니다. 많은 사람들, 많은 감사드립니다. –

관련 문제