【发布时间】:2021-09-04 17:36:22
【问题描述】:
R 新手很抱歉,如果这有点宽泛,但我什至不确定从哪里开始解决这个问题。
我有两个数据框,df1 包含来自某些人口普查区的人口统计数据。
AfricanAmerican AsianAmerican Hispanic White
Tract1 0.25 0.25 0.25 0.25
Tract2 0.50 0.10 0.20 0.10
Tract3 0.05 0.10 0.35 0.50
而 df2 包含观察多边形以及构成其面积的每个人口普查区域的百分比。
Poly1 Poly2 Poly3
Tract1 0.33 0.25 0.00
Tract2 0.33 0.25 0.10
Tract3 0.34 0.50 0.90
我想要做的是获取每个观察多边形中人口统计数据的加权平均值
AfricanAmerican AsianAmerican Hispanic White
Poly1 0.26 0.15 0.27 0.29
Poly2 0.21 0.14 0.29 0.34
Poly3 0.10 0.10 0.34 0.46
到目前为止,我认为我可以做类似的事情
sum(df1$AfricanAmerican * df2$Poly1)
然后使用 for 循环遍历一个多边形的所有人口统计变量,然后将其嵌套在另一个 for 循环中以遍历所有多边形,但鉴于我的工作数据集中有数百个人口普查区域和多边形,我想知道如果有更好的方法?
【问题讨论】:
-
使用矩阵乘法:
t(df2) %*% as.matrix(df1).
标签: r