在给定 z 坐标的 R 中绘制热图

Plotting heatmap in R given z coordinate

R 的新手,我正在尝试为每个屏幕像素的点击绘制 "smooth" 热图。数据以下列格式给出:

x1, y1, count1
x2, y2, count2
x3, y3, count3
...

其中 countN 是用户点击像素的次数 xN, yN。 到目前为止,我发现的最流畅的事情是使用 kde2d 进行核密度估计,但是当我像 kde2d(data[,1], data[,2]) 这样使用它时,它会丢弃 count 数字。

我如何考虑这个数字?如果所有方法只需要 2 个坐标来构建热图,我该如何将 3 列数组展开为 2 列数组,以便

1, 1, 2
2, 3, 1

变成

1, 1
1, 1
2, 3

要使用您想使用的 kde2d 计算内核密度,

df = data.frame(x = c(1,2),y = c(3,1),count=c(2,1))
f1=kde2d(x=rep.int(df$x,df$count),
         y=rep.int(df$x,df$count)) # you probably also want to set the parameters h,n, and lims
image(f1)

其他参数见?kde2d