Hexbin:如何跟踪bin内容

问题描述 投票:0回答:1

在应用hexbin'ning之后,我想知道原始数据的哪个id或rownumbers最终在哪个bin中。

我目前正在分析空间数据,我正在进行分类,例如水深和温度。理想情况下,我想将箱的颜色图映射回空间映射,以查看存在更多或更少常见参数组合的位置。不过我不会受到hexbin的约束。我无法从文档中找出,如何跟踪哪个数据点最终在哪个bin中。似乎hexbin()只存储数量。

是否有一个函数生成一个列表,每个bin都有一个条目,每个bin包含分配给该bin的所有rownumber的向量?

请指出我正确的方向。

到目前为止,我使用普通的hexbin进行分箱:

library(hexbin)
set.seed(5)
df <- data.frame(depth=runif(1000,min=0,max=100),temp=runif(1000,min=4,max=14))
h <- hexbin(df)

但目前我认为无法从将链接到df的h中提取df的rown。可能没有这样的事情,也许我忽略了它或者需要一种完全不同的方法。

r binning
1个回答
2
投票

假设您使用的是hexbin包,那么您需要设置IDs=TRUE才能返回原始行

library(hexbin)
set.seed(5)
df <- data.frame(depth=runif(1000,min=0,max=100),temp=runif(1000,min=4,max=14))
h<-hexbin(df, IDs=TRUE)

然后,为了获得每个观察的bin编号,您可以使用

h@cID

要获得特定观察所填充的单元格中的观察计数,您可以这样做

h@count[match(h@cID, h@cell)]

这个想法是第二次观察df[2,]在细胞h@cID[2]=424。单元格424位于单元列表中的索引which(h@cell==424)=241处(零计数单元似乎被省略)。该单元格中的观察数量为h@count[241]=2

© www.soinside.com 2019 - 2024. All rights reserved.