R - 如何使用 for-loop 加速面板数据构建过程
R - How to speed up panel data construction process using for-loop
我计划构建一个面板数据集,作为第一步,我尝试为每个 99537 个独特观察创建一个具有 25 个重复 ID(每年分配给相同的 25 个 ID)的向量。我到目前为止是:
unique_id=c(1:99573)
panel=c()
for(i in 1:99573){
x=rep(unique_id[i],25)
panel=append(panel,x)
}
我遇到的问题是上面的代码花费了太多时间。 RStudio 一直在处理,不给我任何输出。有没有其他方法可以加快这个过程?请与我分享任何想法。
这里不需要循环
panel <- rep(unique_id, each = 25)
基准
system.time(panel <- rep(unique_id, each = 25))
# user system elapsed
# 0.046 0.002 0.047
length(panel)
#[1] 2489325
我计划构建一个面板数据集,作为第一步,我尝试为每个 99537 个独特观察创建一个具有 25 个重复 ID(每年分配给相同的 25 个 ID)的向量。我到目前为止是:
unique_id=c(1:99573)
panel=c()
for(i in 1:99573){
x=rep(unique_id[i],25)
panel=append(panel,x)
}
我遇到的问题是上面的代码花费了太多时间。 RStudio 一直在处理,不给我任何输出。有没有其他方法可以加快这个过程?请与我分享任何想法。
这里不需要循环
panel <- rep(unique_id, each = 25)
基准
system.time(panel <- rep(unique_id, each = 25))
# user system elapsed
# 0.046 0.002 0.047
length(panel)
#[1] 2489325