通过压缩 1 列并转置剩余列来重新排序数据框

Reorder data frame by compressing 1 column and transposing remaining columns

我在 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 和控制的一个实例,并且 time.num 和 g.Expmean 被转置到行中。

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

我试图在 reshape 中解决它,但没有成功。

使用 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