Có một số vấn đề ở đây (và liệu bạn có sử dụng ggplot2
tôi hay không hoàn toàn trực giao với họ). Đầu tiên, nhận ra rằng các mối tương quan không nhất thiết phải mở rộng theo cách trực quan, "tuyến tính" (phần lớn vì phạm vi có thể của chúng bị giới hạn). Thật đáng suy nghĩ về cách bạn muốn đại diện cho các giá trị. Ví dụ: bạn có thể sử dụng:
- các mối tương quan ban đầu ( -scores)r
- hệ số xác định ( 's)r2
- z -scores dựa trên kết quả của phép biến đổi ' thành 'rz của Fisher :
zr= .5 ln(1 + r1 - r)
Tôi thực sự không biết gì về tình huống của bạn, vì vậy thật khó để tôi nói, nhưng mặc định của tôi sẽ là sử dụng điểm số được chuyển đổi ( ). zr
Tiếp theo, bạn cần quyết định những gì về dữ liệu bạn muốn đưa vào (tất cả, hoặc nhiều hơn hoặc ít hơn nổi bật). Ví dụ: bạn có muốn bao gồm độ lớn tuyệt đối của các giá trị hay chỉ thay đổi của chúng (xem, mức độ so với thay đổi trong kinh tế học)? Bạn có chủ yếu quan tâm đến mức độ thay đổi (nghĩa là các giá trị tuyệt đối), cho dù chúng tăng hay giảm (các dấu hiệu, theo nghĩa tuyệt đối, hoặc hướng tới hoặc không có mối tương quan), hoặc cả hai?
Cho rằng bạn muốn hình dung một ma trận tương quan (nghĩa là một tập hợp các tương quan), điều đáng ghi nhớ là chúng sẽ không độc lập . Hãy xem xét rằng một thay đổi chỉ trong một biến sẽ có ảnh hưởng đến nhiều tương quan, ngay cả khi các biến khác không đổi theo thời gian. Vì vậy, một lần nữa, nó phụ thuộc vào việc đó có quan trọng với bạn không.
Nói cách khác, tìm ra chính xác những gì bạn thực sự quan tâm là rất quan trọng. Sẽ không có một hình dung nào sẽ nắm bắt tất cả các khía cạnh này.
Từ nhận xét của bạn , tôi tập hợp bạn sẽ chỉ có hai ma trận tương quan, trước và sau. Điều đó đơn giản hóa mọi thứ. Một lần nữa, không có bất kỳ thông tin nào về tình huống, dữ liệu hoặc mục tiêu của bạn, tôi có thể sẽ tạo một biểu đồ phân tán với trước và sau trên trục X và trên trục Y và hai điểm thể hiện cùng một mối tương quan được nối bởi một đường bộ phận. Xem xét ví dụ này, được mã hóa trong R: zr
library(MASS) # we'll use these packages
library(psych)
set.seed(541) # this makes the example exactly reproducible
bef = mvrnorm(100, mu=rep(0, 5), Sigma=rbind(c(1.0, 0.0, 0.0, 0.0, 0.0),
c(0.0, 1.0, 0.4, 0.0, 0.5),
c(0.0, 0.4, 1.0, 0.1, 0.0),
c(0.0, 0.0, 0.1, 1.0, 0.8),
c(0.0, 0.5, 0.0, 0.8, 1.0) ))
aft = mvrnorm(100, mu=rep(0, 5), Sigma=rbind(c(1.0, 0.0, 0.0, 0.0, 0.0),
c(0.0, 1.0, 0.4, 0.0, 0.5),
c(0.0, 0.4, 1.0, 0.1, 0.0),
c(0.0, 0.0, 0.1, 1.0, 0.8),
c(0.0, 0.5, 0.0, 0.8, 1.0) ))
aft[,5] = rnorm(100) # above I generate data 2x from the same population,
b.c = cor(bef) # here I change just 1 variable
a.c = cor(aft) # then I make cor matrices, & extract the rs into a vector
b.v = b.c[upper.tri(b.c)]
a.v = a.c[upper.tri(a.c)]
d = stack(list(bef=b.v, aft=a.v))
d$ind = relevel(d$ind, ref="bef")
windows(width=7, height=4)
layout(matrix(1:2, nrow=1))
plot(as.numeric(d$ind), fisherz(d$values), main="Fisher's z",
axes=F, xlab="time", ylab=expression(z [r]), xlim=c(.5,2.5))
box()
axis(side=1, at=1:2, labels=c("before","after"))
axis(side=2, at=seq(-.2,1.5, by=.2), cex.axis=.8, las=1)
for(i in 1:10){ lines(1:2, matrix(fisherz(d$values), nrow=10, ncol=2)[i,]) }
plot(as.numeric(d$ind), d$values, main="Raw rs",
axes=F, xlab="time", ylab="r", xlim=c(.5,2.5))
box()
axis(side=1, at=1:2, labels=c("before","after"))
axis(side=2, at=seq(-.2,1.0, by=.2), cex.axis=.8, las=1)
for(i in 1:10){ lines(1:2, matrix(d$values, nrow=10, ncol=2)[i,]) }; rm(i)
fdif = abs(fisherz(a.c)-fisherz(b.c))
diag(fdif) = 0
windows()
image(1:5, 1:5, z=fdif,
xlab="", ylab="", col=gray.colors(8)[8:3])
for(i in 1:5){ for(j in 1:5){ text(i,j,round(fdif,2)[i,j]) }}
Các hình trên hiển thị cả mức độ tương quan và lượng thay đổi. Bạn có thể thấy các tính năng khác nhau, chẳng hạn như sự hội tụ hướng tới . Sự khác biệt giữa việc sử dụng và là các điểm được phân phối đồng đều hơn trước. Khoảng cách giữa và giống như khoảng cách giữar = 0zrrr0.4.4 và .số 8, ví dụ. Mặt khác, chozr, mối tương quan gần với 0được kết lại với nhau và mối tương quan mạnh mẽ hơn nhiều so với phần còn lại. Những gì những con số không nắm bắt được là sự không độc lập của những dòng đó. Bạn có thể thấy trong bản đồ nhiệt bên dưới (sử dụng các giá trị tuyệt đối của sự khác biệt trongzr's) rằng những thay đổi lớn hơn được liên kết với biến 5.