Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot:基于两个向量的热图_R_Plot_Ggplot2_Heatmap - Fatal编程技术网

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
语法。