具有R的平均值的二维热图

具有R的平均值的二维热图,r,plot,histogram,heatmap,R,Plot,Histogram,Heatmap,我试着画出这样的图,其中alpha是每个箱子的平均值dat$c: library(ggplot2) set.seed(1) dat <- data.frame(a = rnorm(1000), b = rnorm(1000), c = 1/rnorm(1000), d = as.factor(sample(c(0, 1), 1000, replace=TRUE))) # plot p <- ggplot(dat, environment = environment()) +

我试着画出这样的图,其中alpha是每个箱子的平均值dat$c:

library(ggplot2)

set.seed(1)

dat <- data.frame(a = rnorm(1000), b = rnorm(1000), c = 1/rnorm(1000),
  d = as.factor(sample(c(0, 1), 1000, replace=TRUE)))

# plot
p <- ggplot(dat, environment = environment()) +
  geom_bin2d(aes(x=a, y=b, alpha=c, fill=d),
  binwidth = c(1.0/10, 1.0/10))
库(ggplot2)
种子(1)

dat我不确定您希望看到什么,但这将计算每个箱子中的
平均值(dat$c)
,并绘制结果

library(ggplot2)
brks <- seq(-5,5,0.1)
lbls <- brks[-1]-0.05
gg.df <- aggregate(c~cut(a, brks, lbls)+cut(b,brks, lbls)+d,dat,FUN=mean)
names(gg.df)[1:2] <- c("a","b")
gg.df$a <- as.numeric(as.character(gg.df$a))
gg.df$b <- as.numeric(as.character(gg.df$b))
ggplot(gg.df, aes(x=a, y=b, alpha=c, fill=d)) + geom_raster() + coord_fixed()
正如预期的那样,生成这样一个图:在中心附近具有较高的
alpha
(透明度较低)平铺的图


我需要使用对数刻度来表示α,因为值的范围超过几个数量级。

平均值(c)总是相同的值。。。因为它计算列cI的平均值,所以知道平均值(c)是向量c的平均值。我只是把它作为占位符,因为我不知道答案。很好。非常感谢。这也可以按dat$d计算吗?我的意思是,如果同一坐标(a,b)有多个dat$d,那么每个dat$d的平均值应该是不同的?我们如何从视觉上证明解决方案有效?可能使用初始数据,比如2D正弦曲线?请参见我上面的编辑。关于
dat$d
,是的,有多个
dat$d
的箱子将有重叠的瓷砖。你怎么选一个?老实说,在这一点上,这取决于你真正想要完成什么。在摘要中处理数据不会产生任何效果。
dat$c <- with(dat,1/(a^2+b^2))
gg.df <- aggregate(c~cut(a, brks, lbls)+cut(b,brks, lbls)+d,dat,FUN=mean)
names(gg.df)[1:2] <- c("a","b")
gg.df$a <- as.numeric(as.character(gg.df$a))
gg.df$b <- as.numeric(as.character(gg.df$b))
ggplot(gg.df, aes(x=a, y=b, alpha=c, fill=d)) + geom_raster() + coord_fixed() +
  scale_alpha_continuous(trans="log",breaks=10^(0:3))