2016-12-21 2 views
0

다음과 같은 예제 데이터가 있습니다. 평균 수면 시간 (SLP)이 3 명의 채용 사이트 (사이트)와 5 명의 채용 연도 (1 년)에 따라 표시되는 히트 맵을 만들고 싶습니다. 내가 만들고 싶어 히트 맵에서 히트 맵에 대한 행렬을 R 그룹의 행렬로 만드는 방법은 무엇입니까?

SLP site year sex 
8.6 1 2008 1 
7.2 1 2005 2 
6.4 2 2006 2 
9.5 3 2007 2 
6.1 2 2009 2 
5.1 3 2008 1 
2.1 2 2006 2 
3.6 1 2001 1 
8.6 1 2008 1 
7.2 1 2005 2 
6.4 2 2006 2 
9.5 3 2007 2 
6.1 2 2009 2 
5.1 3 2008 1 
2.1 2 2006 2 
3.6 1 2001 1 

는 x 축과 y 축이 년 사이트, respectivly 있으며, 각각의 셀은 수면 시간의 기간을 의미 있습니다.

히트 맵을 만들기위한 데이터 프레임에서 행렬을 만드는 방법을 모르겠습니다. 어떻게해야합니까?

답변

1

많은 옵션이 있으며 히트 맵을 어떻게 만들지에 따라 달라집니다. ggplot2을 사용하려면 data.frame을 수정할 필요가 없습니다. 예를 들어 다음과 같이 작동해야합니다.

txt <- "SLP site year sex 
8.6 1 2008 1 
7.2 1 2005 2 
6.4 2 2006 2 
9.5 3 2007 2 
6.1 2 2009 2 
5.1 3 2008 1 
2.1 2 2006 2 
3.6 1 2001 1 
8.6 1 2008 1 
7.2 1 2005 2 
6.4 2 2006 2 
9.5 3 2007 2 
6.1 2 2009 2 
5.1 3 2008 1 
2.1 2 2006 2 
3.6 1 2001 1" 

d <- read.table(text = txt, header = TRUE) 
d$year <- factor(d$year) # make year a factor. 

ggplot(d, aes(x = site, y = year, fill = SLP)) + geom_tile() 
+0

감사합니다. 사실, 데이터 프레임 세트에서 행렬을 만드는 것을 요구하는 복잡한 히트 맵 패키지로 히트 맵을 만들고 싶습니다. 가능한 경우 내 새로운 질문 [link] (http://stackoverflow.com/questions/41266610/how-to-create-the-matrix-from-data-frame)에 응답하십시오. –

관련 문제