gpt4 book ai didi

r - 将多个字段匹配(和求和)到 R 中的一个字段

转载 作者:行者123 更新时间:2023-12-02 05:51:03 25 4
gpt4 key购买 nike

我有一个数据文件 (.csv),其中每个观测值都是 333 个地区之一。每个区都有一个 ID,例如 1101、1102、...。其次,我有另一个数据文件 (.csv),其中每个观测值都是 112,975 个城镇之一,包括人口数据。城镇数据有一个 district_ID 字段。每个地区大约有 300 个城镇。因此,有一个地区 district_ID == 1101 和大约 300 个城镇 district_ID == 1101

我想在我的地区数据集中创建地区级人口变量。这意味着将多个镇的观察结果与每个单个地区的观察结果相匹配,并将镇级人口相加。

谢谢!

最佳答案

data.table 解决方案:

#some example data
set.seed(42)
districts <- data.frame(district_ID=1:10,whatever=rnorm(10))
towns <- data.frame(town=1:100,district_ID=rep(1:10,each=10),
population=rpois(100,sample(c(1e3,1e4,1e5))))

library(data.table)
districts <- data.table(districts,key="district_ID")
towns <- data.table(towns,key="district_ID")

#calculate district population
temp <- towns[,list(district_pop=sum(population)),by=district_ID]
#merge result with districts data.table
districts <- merge(districts,temp)

# district_ID whatever district_pop
# 1: 1 1.37095845 434886
# 2: 2 -0.56469817 334084
# 3: 3 0.36312841 342241
# 4: 4 0.63286260 433224
# 5: 5 0.40426832 334039
# 6: 6 -0.10612452 342810
# 7: 7 1.51152200 433362
# 8: 8 -0.09465904 333810
# 9: 9 2.01842371 342035
# 10: 10 -0.06271410 432302

关于r - 将多个字段匹配(和求和)到 R 中的一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15452482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com