1

我正在尝试组合一些数据集。人口普查和儿童家庭都很容易。相同的行数,来自相同的来源。但是,我想将这些合并数据中的变量放在地图上。为了做到这一点,我的印象是 1)我的头脑和 2)我需要我的 shapefile 中的社区与人口普查和儿童家庭的社区相对应,并且 3)这是 100% 可能去做。这就是我正在做的事情。请帮帮我。我迷路了。

人口普查和儿童家庭数据魔术

 census<-read.csv(file="Census_Demographics_2010.csv") 
 childrenfamily<-read.csv(file="ChildrenFamilyHealthWellBeing2010")
     mergedData=merge(census,childrenfamily,by.x="CSA2010",by.y="CSA2010",all=TRUE)
 newData<-as.matrix(mergedData)
 edu<-read.csv(file="Education_and_Youth_2010.csv")
 MergedData=merge(mergedData,edu,by.x="CSA2010",by.y="CSA2010",all=TRUE)
 newData<-cSplit(MergedData,sep="/","CSA2010","long",type.convert=TRUE)
 NewData<-cSplit(newData,sep="-","CSA2010","long",type.convert=TRUE)
 nhood<-read.csv("nhood_2010.csv")
 nbhd<-as.matrix(nhood)
 nbhd<-cSplit(nhood,sep="/","NBRDESC","long",type.convert=TRUE)
 nbhds<-cSplit(nbhd,sep="-","NBRDESC","long",type.convert=TRUE)
 nhoods<-nbhds[order(nbhds$NBRDESC),]
 class(nhoods$NBRDESC)
 [1] "factor"
 class(newDATA$CSA2010)
 [1] "character"
 nhoods2$NBRDESC<-as.character(nhoods2$NBRDESC)
 class(nhoods2$NBRDESC)
 [1] "character"

地图魔术

 library(rgdal)
 library(maptools)
 bmorehoods<-readOGR(dsn="/ladeedah/2010_Census_Neighborhoods",layer="2010_Census_Profile_by_Neighborhood_Statistical_Areas")
 library(ggplot2)
 data.points<- fortify(model=bmorehoods)
 bmore<-ggplot(data.points) + geom_polygon(aes(long, lat, group=group))

所以,我基本上有与 GIS 邻域数据不匹配的邻域数据,我想知道

1)有没有更好的方法来做到这一点?2)为什么,当我尝试合并我的数据时,R 是否参与了这些 shananigans:

 mapdata<-merge(nhoods2,NewDATA,by.x="NBRDESC",by.y="CSA2010",all=TRUE)
 Error in merge(nhoods2, NewDATA, by.x = "NBRDESC", by.y = "CSA2010", all = TRUE) : 
  error in evaluating the argument 'y' in selecting a method for function 'merge': Error: object 'NewDATA' not found

4

0 回答 0