R ggplot2县级CHOOPLETH错误与美学
我是R方面的新手,一直在尝试使用ggplot2复制县级失业数据列表,使用FIPS代码作为形状文件和数据之间的识别变量。几年前,我尝试将Hadley和Barry()使用的方法进行网格划分,但我一直遇到错误: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)
美学必须是长度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()
的内部对数据帧进行子集设置。这不是设计使用它的方式,并且会导致其他问题。