首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tidyr展开多列

tidyr展开多列
EN

Stack Overflow用户
提问于 2017-04-29 11:57:59
回答 1查看 5.5K关注 0票数 6

我正在为网络元分析准备数据,而且我很难对这些列进行分类。

如果我有这个初始数据集:

代码语言:javascript
复制
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

我怎么才能结束这另一个呢?

代码语言:javascript
复制
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

我真的被困在这一步了,我非常感谢你的帮助.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-29 12:05:33

我们可以将gather格式改为“long”格式,然后将多列unite改为单列,并将其spreadwide

代码语言:javascript
复制
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)
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43695424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档