R:将多个列连接成一个,并为每个obs分配列名。作为新变量

时间:2017-04-27 15:06:58

标签: r dataframe

在R中,给出以下数据框架结构:

Location   Date1   Date2   Date3
   a       value1  value2  value3
   b       value4  value5  value6
   c       value7  value8  value9

我想将数据框转换为:

 Location  Values    Date
  a        value1   Date1
  a        value2   Date2
  a        value3   Date3
  b        value4   Date1
  b        value5   Date2
  ....

为了将所有列合并为一个,我可以使用stack {utils},但我无法弄清楚如何为每个观察分配相应的列名。

1 个答案:

答案 0 :(得分:0)

使用tidyr ...

可轻松完成此操作
library(tidyr)
df2 <- df1 %>% gather(key=Date,value=Values,-Location)