首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试按结果变量对县着色时R plot_usmap()中的错误

尝试按结果变量对县着色时R plot_usmap()中的错误
EN

Stack Overflow用户
提问于 2020-01-03 14:55:24
回答 1查看 272关注 0票数 2

我在努力绘制爱达荷州县一级的结果。我不理解下面的错误信息。下面的代码复制错误。我尝试将map.data限制在每个县只有一行,但这也会导致错误。

代码语言:javascript
复制
require(usmap)
require(ggplot2)

map.data <- usmap::us_map("counties",
                          include = "ID")
dim(map.data)
1090   10

按县标图的随机结果值

代码语言:javascript
复制
n.county <- length(unique(map.data$fips))
set.seed(0)
d <- data.frame( fips = unique(map.data$fips),
                 values = runif(n.county))
head(d)
    fips    values
 1 16001 0.8966972
 2 16003 0.2655087
 3 16005 0.3721239
 4 16007 0.5728534
 5 16009 0.9082078
 6 16011 0.2016819

合并到map.data中添加“值”变量

代码语言:javascript
复制
map.data <- merge( map.data, d)
map.data <- map.data[ , c("fips", "values")]
dim(map.data)
1090   2

plot_usmap( regions = "counties",
            include = "ID", 
            data = map.data,
            values = "values") + 
  labs( title = "Idaho",
        subtitle = "Outcome Y") 

R错误:

这是我得到的R错误:

不知道如何自动为data.frame类型的对象选择比例。默认为连续的。

错误:美学必须是长度1或与数据(35884)相同:填充

接下来,我计划使用以下方法根据“值”对县进行着色:

代码语言:javascript
复制
  + scale_fill_continuous( low = "white", 
                           high = "red", 
                           name = "Legend", 
                           label = scales::comma) + 
  theme( legend.position = "right")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-03 15:43:31

显然,这个问题来自于您的dataframe的第二列的名称,您称之为“value”。当参数plot_usmap调用一个名为values的列时,可能会导致values中断。

例如,当该列的名称为"X“时,代码可以工作:

代码语言:javascript
复制
require(usmap)
require(ggplot2)

map.data <- usmap::us_map("counties", include = "ID")
dim(map.data)
n.county <- length(unique(map.data$fips))
set.seed(0)
d <- data.frame( fips = unique(map.data$fips),
                 X = runif(n.county))
head(d)

map.data <- merge( map.data, d)
map.data <- map.data[ , c("fips", "X")]
dim(map.data)
1090   2

plot_usmap( regions = "counties",
            include = "ID", 
            data = map.data,
            values = "X") + 
  labs( title = "Idaho",
        subtitle = "Outcome Y") 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59580710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档