我真的需要你帮助解决一个看似容易解决的问题 .
目前我正在开展一个涉及一些面板回归的项目 . 我有几个大的csv文件(每张最多1200万个条目),其格式如附图所示,而列(V1,V2)是个体,行(1,2,3)是时间标识符 .
为了使用 plm()
-function,我需要将所有这些文件转换为以下数据结构:
ID Time X1 X2
1 1 x1 x2
1 2 x1 x2
1 ... ... ...
2 1 x1 x2
2 2 ... ...
我真的很难接受这种转变,我现在真的很沮丧,即我从哪里获得标识符和时间索引?如果您能够提供有关如何解决此问题的信息,我们将非常感激 .
如果我的问题不清楚,请问 .
最好的问候和提前感谢
输出应如下所示:
2 回答
以下代码可用于您的数据而无需进行任何更改 . 为了说明,我只使用了上述数据 . 我使用了基础R
reshape
功能这是另一种选择:从我的"splitstackshape"包中使用
Stacked
.这里它适用于@ Metrics的样本数据:
如果您的数据很大,那将会非常快 . 以下是您链接到的12MB数据集的速度 . 排序不同但数据相同 .
它仍然不比
stack
快(但在某些时候,stack
开始减速) .请参阅下面的
system.time
:reshape()
Stacked()
stack()