【发布时间】:2018-08-15 11:47:17
【问题描述】:
假设我有两个大小不同的数据集,每个数据集包含 x 和 y 来定位每个观察值。
set.seed(1)
x1 <- runif(1000,-195.5,195.5)
y1 <- runif(1000,-49,49)
data1 <- data.frame(x1,y1)
x2 <- runif(2000,-195.5,195.5)
y2 <- runif(2000,-49,49)
data2 <- data.frame(x2,y2)
在这里,我生成了两个数据集,它们在特定区域内具有随机位置。
然后我为每个数据集生成了两个 hexbin。而且我知道要实现回溯垃圾箱,我需要设置IDs = TRUE
hbin_1 <- hexbin(x=data1$x1,y=data1$y1,xbins=30,shape=98/391,IDs=TRUE)
hbin_2 <- hexbin(x=data2$x2,y=data2$y2,xbins=30,shape=98/391,IDs=TRUE)
下一步,我想应用 KL 散度来实现这两个数据集的比较。那么问题是如何将第二个数据集中的匹配箱与第一个数据集匹配? (我想比较两个不同数据集中相同位置的垃圾箱)
更新 我们可以通过
得到包含该bin中相应观察计数的单元格名称(bin号)的表tI1 <- table(hbin_1@cID)
tI2 <- table(hbin_2@cID)
问题是数据集 1 和数据集 2 之间的 bin 编号不同。即使我们在函数 hexbin 中设置了相同的 xbins 和 shape,我们仍然会得到两个数据集的不同 bin。那么如何比较两个数据集(或获取具有相同位置的 bin)?
【问题讨论】:
标签: r validation binning