通过压缩1列并转置剩余列

时间:2016-03-02 23:13:22

标签: r dataframe transpose reshape2

我在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      ##    ##     ##

我试图重塑它,但没有取得任何成功。

1 个答案:

答案 0 :(得分:1)

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

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