2017-11-21 5 views
0

아마도 잘 아시다시피, corrplot은 x 축의 동일한 변수를 사용하여 변수 세트 간의 관계 강도를 시각화하는 아름다운 플롯을 만드는 데 사용할 수 있습니다. y 축상의 축 (대칭형, 대각선보다 대각선이 다른 통계가없는 경우는 제외). 약간 다른 방법으로 corrplot을 사용하고 싶습니다.R - x 축과 y 축에 다른 변수가있는 corrplot 사용

가정하자 I 이렇게 봐 dataframe 가지고

var1 var2 beta se pvalue 
X a .01 .01 .35 
X b -.02 .02 .45 
X c .04 .01 .55 
X d .04 .01 .55 
Y a .06 .01 .01 
Y b -.02 .02 .25 
Y c .04 .01 .55 
Y d .02 .01 .55 
Z a .04 .01 .01 
Z b -.01 .01 .45 
Z c .03 .02 .02 
Z d .04 .02 .02 

내가 X 축 및 A, B, C에 변수 X, Y 및 Z와 그림을 만들 corrplot을 사용할 수 및 Y 축에 d? 그렇다면 어떻게?

추신. 음모를 꾸미고 싶은 가치는 베타입니다.

편집 : 나는 x와 y

+0

? 베타? – G5W

+0

예, 베타 테스트를하고 싶습니다! (표준화 된 베타) – Abdel

답변

1

에 변수의 NR에 대해 당신은 정방 행렬로 데이터를 바꿀 그냥 corrplot로를 공급할 수와 비대칭으로 예제 파일을 편집했다. 결과 행렬이 정사각형이 아니어도 작동합니다.

## Your new data 
Dat = read.table(text="var1 var2 beta se pvalue 
X a .01 .01 .35 
X b -.02 .02 .45 
X c .04 .01 .55 
X d .04 .01 .55 
Y a .06 .01 .01 
Y b -.02 .02 .25 
Y c .04 .01 .55 
Y d .02 .01 .55 
Z a .04 .01 .01 
Z b -.01 .01 .45 
Z c .03 .02 .02 
Z d .04 .02 .02", 
header=TRUE) 

## Now reshape the data (same as before) 
wide = reshape(Dat[,1:3], idvar = c("var1"), 
    timevar="var2", direction = "wide") 
rownames(wide) = wide$var1 
wide = wide[,-1] 
colnames(wide) = sub("beta.", "", colnames(wide)) 

## Pass it to corrplot 
library(corrplot) 
corrplot(as.matrix(wide), is.corr=FALSE, tl.srt=0) 

Corrplot

당신이 음모 원하는 작업 값
+0

고마워요! 그러나 y 축보다 x 축에 변수의 nr이 다르면 어떻게 될까요? 나는 오프닝 포스트를 편집했는데, 죄송합니다. – Abdel

+0

답변을 수정 중입니다. – G5W

+0

놀라운, 정말 고마워! – Abdel