我有一系列使用 MASS 的 kde2d 函数以下列方式创建的 2D 直方图:
# Loading libraries
library(MASS)
library(RcolorBrewer)
# Loading data
data <- as.matrix(read.table('data.dat'))
# Create the 2dhist object
hist_2d <- kde2d(data[,1],data[,2],n = 60, lims=c(-180,180,-180,180))
# Define the color palette
rf <- colorRampPalette(rev(brewer.pal(11,'Spectral')))
r <- rf(60)
# Defining the axis
at_x = seq(-180,180,by=30)
at_y = seq(-180,180,by=30)
# Plot the 2DHistogram
image(hist_2d,col=r,cex.main=3,main='Q68L',axes=F)
axis(1,lwd.ticks=2,at=at_x,labels=T,cex.axis=2)
axis(2,lwd.ticks=2,at=at_y,labels=T,cex.axis=2)
生成的直方图如下所示。如何识别所有高密度区域(我在白色方块内标记)?这个问题的理想解决方案是一个函数,它为每个高密度区域抛出一个 (x,y) 范围,以便它可以应用于多个数据集。
提前致谢,如果您需要更多信息,请告诉我