复制和转置数据

时间:2017-06-21 18:34:37

标签: r database reshape transpose replicate

我一直试图重塑我的数据,但我已经知道如何实现这一目标。我有相当大的数据集,但这里是一行的例子:

TJ25_TAD 

TJ_num     Date                Bin 1    Bin2    Bin3 
TJ25       4/18/2006 19:00     1.5      73.9    16.2

我想复制每一行(每个日期/小时值,我有几百行),然后为这些值设置一列,如下所示:

TJ25_TAD 

TJ_num     Date                TAD 
TJ25       4/18/2006 19:00     1.5 
TJ25       4/18/2006 19:00     73.9
TJ25       4/18/2006 19:00     16.2

对于每个日期值,我实际上有12个箱子。我已经设法能够复制每个日期值12次,我只是不知道如何填写Bin数据。我已经阅读了melt()函数,但我不知道如何正确使用它。

1 个答案:

答案 0 :(得分:0)

dt <- read.table(text = "TJ_num  Date  'Bin 1' 'Bin 2' 'Bin 3' 
    TJ25 '4/18/2006 19:00' 1.5 73.9 16.2",
                 header = TRUE, stringsAsFactors = FALSE)

library(dplyr)
library(tidyr)

dt2 <- dt %>%
  gather(Bin, TAD, 'Bin.1', 'Bin.2', 'Bin.3') %>%
  select(-Bin)