R ggplot:基于两个向量的热图
我试图在R ggplot:基于两个向量的热图,r,plot,ggplot2,heatmap,R,Plot,Ggplot2,Heatmap,我试图在ggplot2中将数据绘制为热图。我知道您通常需要协调x、y和z来绘制x与y的对比,然后根据z进行着色。我已经找到了很多热图示例,但它们都已经有了z向量 我不明白我是如何从一个data.frame中有两列得到一个可用的z向量的。在我的例子中,每一行代表一个人的数据,每一列代表一个量表上的分数(或其他)。例如: library(ggplot2) d <- data.frame(x = sample(20, 500, prob=c(1:10, 10:1), replace = TRUE
ggplot2
中将数据绘制为热图。我知道您通常需要协调x
、y
和z
来绘制x
与y
的对比,然后根据z
进行着色。我已经找到了很多热图示例,但它们都已经有了z
向量
我不明白我是如何从一个data.frame中有两列得到一个可用的z向量的。在我的例子中,每一行代表一个人的数据,每一列代表一个量表上的分数(或其他)。例如:
library(ggplot2)
d <- data.frame(x = sample(20, 500, prob=c(1:10, 10:1), replace = TRUE),
y = sample(20, 500, prob=c(1:10, 10:1), replace = TRUE))
ggplot(d, aes(x, y)) + geom_tile()
库(ggplot2)
d例如,您可以计算x和y的每个组合的观察数,并将其映射到fill
:
library(ggplot2)
d <- data.frame(x = sample(20, 500, prob=c(1:10, 10:1), replace = TRUE),
y = sample(20, 500, prob=c(1:10, 10:1), replace = TRUE))
library(dplyr)
group_by(d,x,y) %>% summarize(n=n()) %>%
ggplot(aes(x, y,fill=n)) + geom_tile()
库(ggplot2)
d%汇总(n=n())%>%
ggplot(aes(x,y,fill=n))+geom_tile()
例如,您可以计算x和y的每个组合的观测值数量,并将其映射到fill
:
library(ggplot2)
d <- data.frame(x = sample(20, 500, prob=c(1:10, 10:1), replace = TRUE),
y = sample(20, 500, prob=c(1:10, 10:1), replace = TRUE))
library(dplyr)
group_by(d,x,y) %>% summarize(n=n()) %>%
ggplot(aes(x, y,fill=n)) + geom_tile()
库(ggplot2)
d%汇总(n=n())%>%
ggplot(aes(x,y,fill=n))+geom_tile()
听起来你想要的不是热图。z轴确定瓷砖的颜色。因此,在您的示例中,您希望确定瓷砖的颜色是什么?例如,[3,7]处的瓷砖应根据值3和7同时出现的频率进行着色。这有意义吗?听起来你想要的不是热图。z轴确定瓷砖的颜色。因此,在您的示例中,您希望确定瓷砖的颜色是什么?例如,[3,7]处的瓷砖应根据值3和7同时出现的频率进行着色。这有意义吗?谢谢!这正是我需要的。不过,我很难解析dplyr
语法。谢谢!这正是我需要的。不过,我很难解析dplyr
语法。