簡體   English   中英

如何在R中按組創建熱圖矩陣?

[英]How to create matrix for heatmap by group in R?

我有一個示例數據,如下所示,我想創建一個熱圖,其中根據3個招聘站點和5個招聘年份顯示平均睡眠時間(SLP)。

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軸分別是年份和地點,每個單元格包括平均睡眠時間。

我不知道如何從數據框架中制作矩陣來制作熱圖。 我該怎么做呢?

有很多選項,這還取決於您要如何創建熱圖。 如果要使用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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM