【问题标题】:Hexbin: how to trace bin contentsHexbin:如何跟踪 bin 内容
【发布时间】:2014-11-26 17:27:54
【问题描述】:

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

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

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

请指点我正确的方向。

到目前为止,我使用普通的 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)

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

【问题讨论】:

  • 您目前如何进行分箱?请编辑您的问题以包含带有示例输入的reproducible example 和您当前正在运行的代码。这将使您更容易为您提供帮助。

标签: r binning


【解决方案1】:

假设您使用的是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

【讨论】:

    猜你喜欢
    • 2011-05-08
    • 1970-01-01
    • 2019-07-21
    • 2016-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    相关资源
    最近更新 更多