我正在使用新泽西州2010年人口普查的人口普查数据。我想基于县进行分析,因此(希望)使生活更轻松,我希望将2010年人口普查区域的行普查数据(是的,以某种方式表示行数)折叠为21行县。
数据的类是SpatialPolygonsDataFrame
因此,从这个开始(例如,数字是由数字组成的,并且我正在使用的文件有91列我想加起来):
TRACTCE10 COUNTYFP10 POP
01 03 231
02 03 45
03 03 450
04 07 567
05 07 102
对此:
TRACTCE10 COUNTYFP10 POP
X (note) 03 727
Y 07 669
((注))我不确定如何处理合并字段列,我应该将它们全部删除,还是在最终输出中忽略它们的总和?我想除了汇总每个人口统计栏中的数字外,还需要合并这些多边形。
[基本上,我根本不知道从哪里开始,因为我对R很陌生,每次去问教授一个问题时,他都会说我“超越自己”,拒绝帮助我,但似乎会有一个非常简单的答案的东西。
非常感谢您的帮助。我不确定什么代码甚至会有用,所以如果您需要我提供任何其他信息,请告诉我。
有很多好的方法可以做到这一点,但是库dplyr
提供了直观而直接的方法来做到这一点。
使用数据,您首先要按COUNTYFP10
分组,然后计算所有其他列的总和。代码如下:
## For replicability:
z <- "TRACTCE10 COUNTYFP10 POP
01 03 231
02 03 45
03 03 450
04 07 567
05 07 102"
df <- read.table(text=z, header=T)
library(dplyr)
output <- df %>%
group_by(COUNTYFP10) %>%
summarize_at(vars(-TRACTCE10), sum)
> output
# A tibble: 2 x 2
COUNTYFP10 pop
<int> <int>
1 3 726
2 7 669
您可以使用对vars()
的调用来排除没有意义的总和(在这种情况下为TRACTCE10
)。