【问题标题】:I need help mapping in R coding我需要帮助映射 R 编码
【发布时间】:2019-02-12 06:28:46
【问题描述】:

这是我绘制 RR 的 R 代码:

# Display posterior means of RR(relative risks)
va$RRmean <- end4$summary.fitted.values[, 1]
library(classInt)
breaks.qt2 <-classIntervals(va$RRmean, n=7, style="quantile", intervalClosure="right")
va.palette<-brewer.pal(9, name="OrRd")
spplot(va, "RRmean", col="transparent", col.regions=va.palette, at=breaks.qt2$brks)

但是,有一个县显示为空白白色(尽管它在其他县中具有最高的值)。代码有问题吗?我检查了实际值,它是一个有效的数值。

【问题讨论】:

  • 欢迎来到 SO!这个社区有几个rulesnorms,关注他们会帮助你得到一个很好的答案。特别是,最好提供一个MCVE(一个最小的、完整的、可验证的例子)。查看 this page 以获取有关 R 特定 MCVE 的提示。

标签: r sp discretization


【解决方案1】:

问题是您使用ssplot 作为参数数值,因此颜色开始“循环”。您需要使用转换后的 RRmean by classIntervals 功能。没有它,您将观察到类似于下面左图所示的结果。请看下面的代码(Philladelphia Homicide Rate dataset):

library(rgdal)
library(sp)
library(ggplot2)
library(RColorBrewer)
library(classInt)

dsn <- "Philly3"
philly <-readOGR(dsn=dsn, layer = "Philly3") #
pal <- brewer.pal(9, "OrRd")
breaks_qt <- classIntervals(philly$HOMIC_R, n = 7, style = "quantile")
br <- breaks_qt$brks 
offs <- 0.0000001 
br[1] <- br[1] - offs 
br[length(br)] <- br[length(br)] + offs 
philly$HOMIC_R_bracket <- cut(philly$HOMIC_R, br)

g1 <- spplot(philly, "HOMIC_R", col.regions = pal, main = "Philadelphia homicide, with numerical value")
g2 <- spplot(philly, "HOMIC_R_bracket", col.regions = pal, main = "Philadelphia homicide, with categorical values")

library(gridExtra)
grid.arrange(g1, g2, nrow = 1)

输出:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 2014-04-06
    相关资源
    最近更新 更多