【发布时间】:2015-01-10 22:58:09
【问题描述】:
我有一个数据框,其中包含 MSA 的年度人口数据。它们的组织如下:
MSA FIPS x1969 x1970 x1971 .... x2012
Akron 123 12 14 17 .... 22
Miami 234 23 20 24 .... 29
etc.
我需要将数据重塑成
MSA FIPS Year Data
Akron 123 1969 12
Akron 123 1970 14
Akron 123 1971 17
...
我可以使用“melt”来做到这一点,但我还想插入这些年度数据以包含完整时间序列的季度数据点。那么,如何最好地动态创建季度(插值)矩阵?
我可以在上面第一个矩阵的行上使用循环来执行此操作,然后使用melt 来重塑新数据,但是每当我发现自己在构建明确编码的循环时,我都被要求打自己一巴掌。
我一直在修改“应用”,但它会创建一个列表列表——然后需要组装最终的数据框。
我觉得必须有一个简单的解决方案。
谢谢,克里斯。
【问题讨论】:
-
您有一个包含年度数据的数据集还是两个包含季度数据的数据集?
-
一个像上面的例子一样的年度数据集。我想插入从 1969 年到 1970 年以及从 1970 年到 1972 年等缺失的三个季度。当前数据是 n (msa) x m (years);我希望它是 n(msa)x q(四分之一)。如何创建新的矩阵或数据框?我可以在创建宿舍之前或之后融化/重塑。谢谢!
-
我可能误解了你的问题。从您显示的数据来看,您似乎想将年度
disaggregate转为quarterly。在这种情况下,像tempdisagg这样的专用包会更好。正如我在帖子中提到的,有一些选择。 -
知道了。再次,谢谢。有时选择是压倒性的。这是一种词汇丰富的新语言。
标签: r matrix interpolation apply