0

我试图在 R 中找到一种简单的方法来获取具有 person_id、日期和几个变量字段的数据集(比如说 20,命名为 x1,x2...x20)并将其转换为 3 维数组(m by n by 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 个数)。

谢谢!

4

1 回答 1

0

使用重塑2:

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)
于 2013-03-20T15:03:25.767 回答