R ggplot2县级CHOOPLETH错误与美学

R ggplot2县级CHOOPLETH错误与美学,r,ggplot2,aesthetics,R,Ggplot2,Aesthetics,我是R方面的新手,一直在尝试使用ggplot2复制县级失业数据列表,使用FIPS代码作为形状文件和数据之间的识别变量。几年前,我尝试将Hadley和Barry()使用的方法进行网格划分,但我一直遇到错误:美学必须是长度1,或与数据问题相同的长度:freq_a 几天来,我一直在想如何解决这个问题,所以非常感谢您的帮助 这是我的密码: require(rgdal) require(maps) require(rgdal) require(RColorBrewer)

我是R方面的新手,一直在尝试使用ggplot2复制县级失业数据列表,使用FIPS代码作为形状文件和数据之间的识别变量。几年前,我尝试将Hadley和Barry()使用的方法进行网格划分,但我一直遇到错误:
美学必须是长度1,或与数据问题相同的长度:freq_a

几天来,我一直在想如何解决这个问题,所以非常感谢您的帮助

这是我的密码:

    require(rgdal)
    require(maps)
    require(rgdal)
    require(RColorBrewer)
    require(ggplot2)


    unem<-read.table("unemployment09.csv",sep=",",
     as.is=TRUE,
    colClass=c(rep("character",8),"numeric"),
    col.names=c("code","f1","f2","name","yr","x1","x2","x3","percentage")
      )

    unem$fips=paste(unem$f1,unem$f2,sep="")


   county<-readOGR("tl_2009_us_county.shp",  
  "tl_2009_us_county")
  colClasses=c("character", "character")
   county$fips<-paste(county$STATEFP,county$COUNTYFP,sep="")

  m<-match(county$fips, unem$fips)
  county$freq<-unem$percentage[m]
  county$freq[is.na(county$freq)]=0

  county$freq_a<-cut(county$freq, breaks = c(seq(0,10,by=2),35))



  county$freq_a<-as.numeric(county$freq_a)

  ggplot(county, aes(long, lat, group = group)) +
  geom_polygon(aes(fill = county$freq_a), colour = "white", size = 0.2) + 
  scale_fill_brewer(palette = "PuRd") + theme(panel.background = element_rect(fill = 
  "white"))        
require(rgdal)
需要(地图)
需要(rgdal)
要求(RColorBrewer)
需要(ggplot2)

unem(1)永远不要在
aes()
中引用类似于
country$freq_a
的变量;只要
fill=freq_a
,(2)county
是否有一个名为
group
的列?当我确实fill=freq_a时,我会得到以下错误:eval(expr,envir,enclose)中的错误:找不到对象'freq_a'。因此,我认为我必须指定county$freq__a。县中没有列组。谢谢@joran的帮助,只有当ggplot在
内找不到
freq\u a
时,才会出现该错误。因此,如果没有一个可复制的例子,就不可能准确地说出发生了什么。但是您仍然不应该从
aes()
的内部对数据帧进行子集设置。这不是设计使用它的方式,并且会导致其他问题。