将数据重塑为长格式,重复每个变量的ID范围

时间:2014-07-16 16:04:54

标签: r reshape

我想将数据重新整形为长格式,但我想重复数据集中每个变量的整个id范围,即使对于那些变量没有值的id条目也是如此。目前我可以获得狭窄的数据,每个变量的id都有相应的条目

假设我的数据有15个变量,有20个可能的id,我想创建一个15 * 20长度的数据的窄形式(每个变量重复的id的范围),其中每个重复的id范围显示变量的值,对于id1,id2,id3等,直到达到id的范围结束,然后为id1,id2,id3等显示variable2。

我不确定在R中这样做,我目前正在使用重塑包。

2 个答案:

答案 0 :(得分:1)

您可以使用解释为here

的复制功能
v1 <- 1:5
v2 <- 1:6
rep(v1, each = 6)
# 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5
rep(v2, 5)
#1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6

答案 1 :(得分:1)

是的,这很难处理,但你正在寻找我认为的融合功能......

library(reshape2)
melt(yourdata, id.vars = 'ID COLUMN')

这将返回一个300 x 3的数据集,如下所示:

ID COLUMN   variable    value
        1       col2        7
        1       col3        8
     ....       ....     ....
       20      col14       99
       20      col15      100