我想将数据重新整形为长格式,但我想重复数据集中每个变量的整个id范围,即使对于那些变量没有值的id条目也是如此。目前我可以获得狭窄的数据,每个变量的id都有相应的条目
假设我的数据有15个变量,有20个可能的id,我想创建一个15 * 20长度的数据的窄形式(每个变量重复的id的范围),其中每个重复的id范围显示变量的值,对于id1,id2,id3等,直到达到id的范围结束,然后为id1,id2,id3等显示variable2。
我不确定在R中这样做,我目前正在使用重塑包。
答案 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