如何将数据帧转换为行?

时间:2017-09-11 18:10:41

标签: r dataframe

我有一个关于重塑表格的基本问题:

       pval     Quality
High  0.782        0.62
 Low  0.782        1.58

我想将其更改为

   pval     High     Low
  0.782     0.62    1.58

我对R比较陌生。有人可以帮忙吗?谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用spread

中的tidyverse功能
 library(tidyverse)
 df1 %>% 
     rownames_to_column() %>% 
     spread(rowname, Quality)

结果

    pval High  Low
 1 0.782 0.62 1.58

答案 1 :(得分:1)

如果首先将行名称绑定到数据,则可以直接reshape()

reshape(cbind(df, rn=rownames(df), row.names=NULL), 
    direction="wide", timevar="rn", idvar="pval")
#    pval Quality.High Quality.Low
# 1 0.782         0.62        1.58

数据:

df <- structure(list(pval = c(0.782, 0.782), Quality = c(0.62, 1.58
)), .Names = c("pval", "Quality"), class = "data.frame", row.names = c("High", 
"Low"))