R -面板数据长表单到表单人x时间x特征的三维数组



我试图在R中找到一种简单的方法来获取具有person_id,日期和几个变量字段的数据集(假设为20,命名为x1, x2…x20)并将其转换为三维数组(m × n × p)其中m是人数,n是离散时间段的数量,p是变量的数量。

当前数据显示为:

m1 n1 x1 x2 x3 ... x20    
m1 n2 x1 x2 x3 ... x20
m1 nN   . .  . ...  .
m2 n1 x1 x2 x3 ... x20
.  .  .  .  .  ...  .
.  .  .  .  .  ...  .
mM nN x1 x2 x3 x4 ... x2

最后,我希望它看起来像这样:

[, , 1]     
                    [, 1, ] [, 2, ] [, 3, ][, ..., ][, n, ]    
             [1, , ]    
             [2, , ]    
             [3 , ,]    
           [... , ,]    
             [m, , ]   
[, , 2]    
[, , 3]    
[, , ...]
[, , p]

为简单起见,我们假设时间序列是对齐良好的(每个m具有完全相同的n个数)。

谢谢!

使用

library(reshape2)
# You probably need to melt your data first
dataset.m <- melt(dataset, id.vars = c("m", "n"))
acast(dataset.m, m ~ n ~ variable)

相关内容

  • 没有找到相关文章