【问题标题】:Normalizing data in r using population raster使用人口栅格对 r 中的数据进行归一化
【发布时间】:2016-02-16 08:48:14
【问题描述】:

我有两个使用spatstat 创建的像素图像,一个是由一组点创建的密度图像(使用函数density.ppp),另一个是从人口栅格创建的像素图像。我想知道是否有办法使用人口栅格来标准化密度图像。基本上,我有一个包含美国 10000 多个网络攻击起源位置的数据集,使用我希望调查空间模式的 spatstat 函数。然而,一个明显的问题是,人口较多的地区由于人口较多,因此网络攻击的来源较多。我想使用人口栅格来解决这个问题。任何想法,将不胜感激。

【问题讨论】:

  • 听起来您应该将密度除以人口。我(还)不熟悉 R 中的栅格函数,但这应该不难。

标签: r normalization spatstat


【解决方案1】:

正如@RHA 的评论所说:第一个解决方案是简单地除以强度。

我没有你的数据,所以我会做一些可能看起来相似的数据。 Chorley 数据集有两种癌症病例。我将估计肺癌的强度并将其用作您给定的人口密度。然后,喉部病例的密度估计作为您对网络攻击强度的估计:

library(spatstat)
# Split into list of two patterns
tmp <- split(chorley)
# Generate fake population density
pop <- density(tmp$lung)
# Generate fake attack locations
attack <- tmp$larynx
# Plot the intensity of attacks relative to population
plot(density(attack)/pop)

或者,您可以在density.ppp 中使用反向人口密度作为权重:

plot(density(attack, weights = 1/pop[attack]))

这可能是首选方式,您基本上可以说攻击发生在例如人口密度为 10 的地方“计数”只有在密度为 5 的地方发生的攻击的一半。

我不确定您究竟想对您的分析做什么,但也许您应该考虑使用ppm 拟合一个简单的泊松模型,并查看您的数据与建议的模型有何不同,以了解攻击的行为.

【讨论】:

    猜你喜欢
    • 2019-09-11
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 2017-07-04
    • 2016-10-05
    • 1970-01-01
    相关资源
    最近更新 更多