我正在为网络元分析准备数据,而且我很难对这些列进行分类。
如果我有这个初始数据集:
Study Trt y sd n
1 1 -1.22 3.70 54
1 3 -1.53 4.28 95
2 1 -0.30 4.40 76
2 2 -2.60 4.30 71
2 4 -1.2 4.3 81我怎么才能结束这另一个呢?
Study Treatment1 y1 sd1 n1 Treatment2 y2 sd2 n2 Treatment3 y3 sd3 n3
1 1 1 -1.22 3.70 54 3 -1.53 4.28 95 NA NA NA NA
2 3 1 -0.30 4.40 76 2 -2.60 4.30 71 4 -1.2 4.3 81我真的被困在这一步了,我非常感谢你的帮助.
发布于 2017-04-29 12:05:33
我们可以将gather格式改为“long”格式,然后将多列unite改为单列,并将其spread为wide
library(tidyverse)
gather(df1, Var, Val, Trt:n) %>%
group_by(Study, Var) %>%
mutate(n = row_number()) %>%
unite(VarT, Var, n, sep="") %>%
spread(VarT, Val, fill=0)https://stackoverflow.com/questions/43695424
复制相似问题