【问题标题】:Reorder data frame by compressing 1 column and transposing remaining columns通过压缩 1 列并转置剩余的列来重新排序数据帧
【发布时间】:2016-03-03 08:21:58
【问题描述】:

我在 R 中有一个小数据框,其中包含两个处理条件以及这些样本的特定基因的相应时间点和平均基因表达。

> RPmean

来源:本地数据框 [8 x 3] 组:治疗 [?]

    Treatment time.num gExp.mean
       (fctr)    (dbl)     (dbl)
1 cigarette_smoke        1  10.96147
2 cigarette_smoke        2  11.32251
3 cigarette_smoke        4  11.16829
4 cigarette_smoke       24  10.88674
5         control        1  11.09731
6         control        2  10.99542
7         control        4  10.79247
8         control       24  11.25574

我想重新排列它,以便处理列仅列出 cig_smoke 和 control 的一个实例,并将 time.num 和 g.Expmean 转置为行。

Something like this
Treatment             1     2      4     24
cigarette_smoke      10     11     10     11
control               9      ##    ##     ##

我试图在重塑中解决它,但没有任何成功。

【问题讨论】:

    标签: r dataframe transpose reshape2


    【解决方案1】:

    使用tidyr 包中的spread 可以非常有效地处理这种重塑:

    library(tidyr)
    dat %>% spread(time.num, gExp.mean)
    #         Treatment        1        2        4       24
    # 1 cigarette_smoke 10.96147 11.32251 11.16829 10.88674
    # 2         control 11.09731 10.99542 10.79247 11.25574
    

    【讨论】:

      猜你喜欢
      • 2017-10-16
      • 1970-01-01
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多