将数据帧转换为行

时间:2017-10-05 14:27:30

标签: r dataframe tidyr reshape2 tidyverse

数据

我有这样的数据框:

 id weigth temp_s1 temp_s2
  1     50       2       7
  2     51       3       8
  3     52       4       9
  4     53       5      10
  5     54       6      11

我想要什么

我想获得这个:

     id weigth  temp    value
      1     50  temp_s1     2
      1     50  temp_s2     7
      1     51  temp_s1     3
      1     51  temp_s2     8
      1     52  temp_s1     4
      1     52  temp_s2     9
      1     53  temp_s1     5
      1     53  temp_s2     10
      1     54  temp_s1     6
      1     54  temp_s2     11

1 个答案:

答案 0 :(得分:2)

您应该使用melt包中的reshape2功能,如下所示:

melt(df, c("id", "weight"))