답변:
@GaBorgulya의 응답을 바탕으로 변동 또는 레벨 플롯 (일명 히트 맵 표시)을 시도하는 것이 좋습니다.
예를 들어, ggplot2 사용 :
library(ggplot2, quietly=TRUE)
k <- 100
rvals <- sample(seq(-1,1,by=.001), k, replace=TRUE)
rvals[sample(1:k, 10)] <- NA
cc <- matrix(rvals, nr=10)
ggfluctuation(as.table(cc)) + opts(legend.position="none") +
labs(x="", y="")
여기서 누락 된 항목은 회색으로 표시되지만 기본 색 구성표를 변경할 수 있으며 범례에 "NA"를 넣을 수도 있습니다.
또는
ggfluctuation(as.table(cc), type="color") + labs(x="", y="") +
scale_fill_gradient(low = "red", high = "blue")
(여기서 결 측값은 표시되지 않습니다. 그러나 geom_text()
빈 셀에 "NA"와 같은 것을 추가 하고 표시 할 수 있습니다 .)
hclust(…)$order
) [ stat.ethz.ch/R-manual/R-devel/library/stats/html/hclust.html]에 의해 행과 열의 순서를 바꾸면 시각화가 더보기 쉽습니다.
mixOmics::cim
기능은 매우 좋습니다. stats.stackexchange.com/questions/8370/… 관련 문제가 여기에서 논의되었습니다 .
귀하의 데이터는
name1 name2 correlation
1 V1 V2 0.2
2 V2 V3 0.4
다음 R 코드를 사용하여 긴 테이블을 넓은 테이블로 재 배열 할 수 있습니다
d = structure(list(name1 = c("V1", "V2"), name2 = c("V2", "V3"),
correlation = c(0.2, 0.4)), .Names = c("name1", "name2",
"correlation"), row.names = 1:2, class = "data.frame")
k = d[, c(2, 1, 3)]
names(k) = names(d)
e = rbind(d, k)
x = with(e, reshape(e[order(name2),], v.names="correlation",
idvar="name1", timevar="name2", direction="wide"))
x[order(x$name1),]
당신은 얻을
name1 correlation.V1 correlation.V2 correlation.V3
1 V1 NA 0.2 NA
3 V2 0.2 NA 0.4
4 V3 NA 0.4 NA
이제 상관 행렬 (결 측값에 대처할 수있는 하나 이상)을 시각화하는 기술을 사용할 수 있습니다.
reshape
패키지도 유용 할 수 있습니다. 일단 e
다음과 같은 것을 고려하십시오library(reshape) cast(melt(e), name1 ~ name2)
ggfluctuation
, 전에는 보지 못했습니다! 이 게시물에는 이러한 유형의 날짜를 시각화하는 다른 유용한 코드가 있습니다. stackoverflow.com/questions/5453336/…