2
all-vs-all 비교에서 히트 맵을 생성하고 싶습니다. 이미 0-1로 스케일 된 데이터가 있습니다. 그러나 한 가지 방법으로 만 비교할 수있는 값만 있고 같은 그룹 (항상 1)간에 비교할 수는 없습니다. 즉, 행렬의 절반이 있고 나머지 절반과 대각선이 누락되었습니다. ggplot2가 열지도 (heat map)에 사용할 수있는 형식으로 가져 오는 좋은 방법은 무엇입니까? 나는 다음과 같은 맡기ggplot2에서 히트 맵을 그리기위한 데이터 프레임을 확장하십시오.
A B value
T1 T2 0.347
T1 T3 0.669
T2 T3 0.214
을 내가 ggplot에 필요한 것입니다 :
이
내가 가지고있는 데이터의 예 (또는 ggplot 어떻게 든 그것을 생성 할 수 있다면 어쩌면 내가, 그렇지?) :A B value
T1 T2 0.347
T1 T3 0.669
T2 T3 0.214
T2 T1 0.347
T3 T1 0.669
T3 T2 0.214
T1 T1 1
T2 T2 1
T3 T3 1
그럼 내가 정말 나쁜 방법 invo을 나는이 문제를 해결 한
sorted<-data[order(data$A, data$B), ]
ggplot(sorted, aes(A, B)) +
geom_tile(aes(fill = value), colour = "white") +
scale_fill_gradient(low = "black", high = "red") +
실행 만에 (내가 가정하는 것입니다) 것 루프를위한 lving. 위의 첫 번째 데이터 프레임을 양식으로 가져 오는 더 좋은 방법이 있어야합니다!
건배
감사합니다! 그것은 내 버전보다 훨씬 낫다. R은 모두 하위 집합과 결합에 관한 것입니다. – ShellfishGene