R 如何通过省略缺少的值将水平数据集重新构造为垂直数据集
我的数据帧dat如下所示:R 如何通过省略缺少的值将水平数据集重新构造为垂直数据集,r,R,我的数据帧dat如下所示: PatID X1 X2 X3 X4 X5 X6 X7 X8 1 0.8288 0.7920 0.7552 0.6447 NA NA NA NA 2 0.9500 0.9500 0.9500 0.9139 0.8092 NA NA NA 3 NA NA NA NA
PatID X1 X2 X3 X4 X5 X6 X7 X8
1 0.8288 0.7920 0.7552 0.6447 NA NA NA NA
2 0.9500 0.9500 0.9500 0.9139 0.8092 NA NA NA
3 NA NA NA NA NA NA NA NA
4 0.9500 0.9100 0.8092 NA NA NA NA NA
PatID Score
1 0.8388
1 0.7920
1 0.7552
1 0.6447
2 0.9500
2 0.9500
2 0.9500
2 0.9139
2 0.8092
4 0.9500
4 0.9100
4 0.8092
我想让它像下面这样:
PatID X1 X2 X3 X4 X5 X6 X7 X8
1 0.8288 0.7920 0.7552 0.6447 NA NA NA NA
2 0.9500 0.9500 0.9500 0.9139 0.8092 NA NA NA
3 NA NA NA NA NA NA NA NA
4 0.9500 0.9100 0.8092 NA NA NA NA NA
PatID Score
1 0.8388
1 0.7920
1 0.7552
1 0.6447
2 0.9500
2 0.9500
2 0.9500
2 0.9139
2 0.8092
4 0.9500
4 0.9100
4 0.8092
您可以在
重塑2
中尝试melt
:
new_df <- melt(df, id.vars = 'PatID', na.rm = TRUE)
new_df[order(new_df$PatID),]
请阅读以下文档,然后编辑并重新表述问题。你试过什么。这是一个从宽到长的转换,然后下降NA。