从宽格式到长格式的不同量的时变变量

问题描述 投票:0回答:1

我正在将纵向数据从宽格式转换为长格式。这就是很多,所以我了解“后台”正在发生的事情,以及是否确实可能。

df1是我之前full_join的4波数据的组合。我有4个带有标识符pidp的wave和三个固定变量,我在第一个wave中插入了这些变量,然后在wave 1中有五个随时间变化的变量。]

在波2,波3和波4中,有一个变量jwbs1_2仅出现在波2,波3和波4处。

因此,在第一波中有五个时变变量,但在第二波,3和4时有六个时变变量,如文章底部所示。

I got the error message

 Error in reshapeLong(data, idvar = idvar, timevar = timevar, varying = varying,  : 
  'varying' arguments must be the same length

我想知道是否有可能在不同的波动中使用不同数量的时变变量,并以长格式使用它们?有办法吗?

为了示例性目的,我在下面插入了变量,并使用了我正在使用的代码

$ pidp
$ sex     
$ edtype
$ jbsat_1
$ sclfsato_1
$ jbsat_1
$ sf12mcs_1
$ scghq1_1
$ jbsat_2
$ sclfsato_2
$ jbsat_2
$ sf12mcs_2
$ scghq1_2
$jwbs1_2
df2 <- reshape(
    data = df1,
    varying = 4:length(df1),
    timevar = "wave",
    sep = "_",
    idvar = "pidp",
    direction = "long"
)  

我正在将纵向数据从宽格式转换为长格式。这是非常重要的,所以我了解“后台”正在发生的事情,以及是否确实可能。 df1是一个...

r reshape long-integer data-cleaning longitudinal
1个回答
0
投票

对于宽格式的不平衡数据,您可以将丢失的变量jwbs1_1附加到数据框中并重试,也可以使用tidyr

© www.soinside.com 2019 - 2024. All rights reserved.