我有一个具有唯一ID和其他列的数据框,如下所示:
df = data.frame(id = c('id1', 'id2', 'id3'),
col_1 = c(0,1,0),
col_2 = c(1,0,0),
col_3 = c(1,1,NA),
col_4 = c(1,NA,NA))
如何融合旨在具有两列的数据框,其中第一列的ID将根据列数重复,第二列将包含其他列的值。
预期输出示例:
df = data.frame(id = c('id1', 'id1', 'id1', 'id1', 'id2', 'id2', 'id2', 'id2', 'id3', 'id3', 'id3', 'id3'),
col_1 = c(0,1,1,1,1,0,1,NA,0,0,NA,NA))
尝试:
library(reshape2)
df = data.frame(id=c('id1', 'id2', 'id3'),col_1 = c(0,1,0),col_2 = c(1,0,0),col_3 = c(1,1,NA),col_4 = c(1,NA,NA))
x <- melt(df, id.vars = "id")
x[order(x$id),c(1,3)]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句