R 在给定z坐标下绘制热图
对R来说非常陌生,我正试图为每个屏幕像素的点击量绘制一个“平滑”的热图。数据以以下格式给出:R 在给定z坐标下绘制热图,r,data-visualization,heatmap,R,Data Visualization,Heatmap,对R来说非常陌生,我正试图为每个屏幕像素的点击量绘制一个“平滑”的热图。数据以以下格式给出: x1, y1, count1 x2, y2, count2 x3, y3, count3 ... 其中countN是用户单击像素的次数xN,yN。 到目前为止,我发现最平滑的事情是使用kde2d进行内核密度估计,但当我像kde2d(data[,1],data[,2])那样使用它时,它会丢弃计数 我如何考虑这个数字?如果所有方法都只需要2个坐标来构建热图,那么如何将3列数组展开为2列数组,以便 1, 1
x1, y1, count1
x2, y2, count2
x3, y3, count3
...
其中countN
是用户单击像素的次数xN,yN
。
到目前为止,我发现最平滑的事情是使用kde2d
进行内核密度估计,但当我像kde2d(data[,1],data[,2])
那样使用它时,它会丢弃计数
我如何考虑这个数字?如果所有方法都只需要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
。您可以将该数据转换为矩阵以构建光栅对象,并且有许多选项可用于利用计数(等高线图等)。将是一个很好的入门参考。一些样本数据将帮助ppl帮助您更多。