将数据框融合为4列到3列

时间:2013-06-06 20:50:47

标签: r reshape

我的数据包含4列datevillebornecombined。我想使用reshape包将这些数据重新整形为长格式。

数据负责人:

> head(newdata)
                 date ville borne   comb
1 2010-01-01 00:00:00 46200 78500 124700
2 2010-01-01 01:00:00 46300 74100 120400
3 2010-01-01 02:00:00 46400 77600 124000
4 2010-01-01 03:00:00 46500 75600 122100
5 2010-01-01 04:00:00 46500 79000 125500
6 2010-01-01 05:00:00 46600 75500 122100

可重复的数据如下:

newdata <- structure(list(date = structure(list(sec = c(0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), min = c(0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), hour = c(0L, 
1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 
15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 0L, 1L, 2L, 3L, 
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 
18L, 19L, 20L, 21L, 22L, 23L, 0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 
21L, 22L, 23L, 0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 
12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 0L, 
1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 
15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 0L, 1L, 2L, 3L, 
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 
18L, 19L, 20L, 21L, 22L, 23L, 0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 
21L, 22L, 23L, 0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 
12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 0L, 
1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 
15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 0L, 1L, 2L, 3L, 
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 
18L, 19L, 20L, 21L, 22L, 23L, 0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 
21L, 22L, 23L, 0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 
12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 0L, 
1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 
15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 0L, 1L, 2L, 3L, 
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 
18L, 19L, 20L, 21L, 22L, 23L), mday = c(1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 
7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 
9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
9L, 9L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 12L, 12L, 
12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 
12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 13L, 13L, 13L, 13L, 
13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 
13L, 13L, 13L, 13L, 13L, 13L, 13L, 14L, 14L, 14L, 14L, 14L, 14L, 
14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 14L, 
14L, 14L, 14L, 14L, 14L), mon = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), year = c(110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 110L, 
110L, 110L, 110L), wday = c(5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 
6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
6L, 6L, 6L, 6L, 6L, 6L, 6L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L), yday = c(0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 
6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 
6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 
7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 
8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 8L, 
8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 10L, 10L, 10L, 10L, 10L, 
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 
10L, 10L, 10L, 10L, 10L, 10L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 11L, 
11L, 11L, 11L, 11L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 
12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 
12L, 12L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 
13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L
), isdst = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L)), .Names = c("sec", "min", "hour", "mday", "mon", 
"year", "wday", "yday", "isdst"), class = c("POSIXlt", "POSIXt"
)), ville = c(46200, 46300, 46400, 46500, 46500, 46600, 46500, 
46600, 46600, 46500, 46500, 46500, 46400, 46400, 46300, 46300, 
40700, 40700, 40600, 40500, 40500, 40400, 40400, 40400, 40300, 
40300, 40200, 33800, 34300, 34600, 35000, 35200, 35300, 35500, 
35600, 38300, 38000, 37900, 37800, 37700, 37600, 37400, 37400, 
37200, 37100, 37000, 36900, 33000, 33300, 33400, 33500, 33600, 
33600, 33600, 33600, 33500, 33500, 33500, 33500, 33400, 34000, 
31600, 31600, 31600, 31700, 31700, 31600, 31600, 31500, 31400, 
31400, 31300, 31200, 31100, 31000, 32100, 32500, 32700, 32800, 
32800, 32900, 32900, 32900, 32900, 32800, 32900, 32900, 32900, 
32800, 32800, 32700, 32700, 32700, 32600, 32700, 32600, 32600, 
32600, 32600, 32600, 32500, 32500, 32400, 32400, 28900, 29000, 
29200, 29300, 29400, 30100, 31000, 30900, 30800, 30800, 30700, 
30600, 30600, 30600, 30400, 30400, 30300, 30300, 30300, 30200, 
30200, 30100, 30100, 30000, 30000, 30000, 29900, 29900, 30200, 
29900, 27100, 27200, 27300, 27300, 27400, 26000, 23000, 23200, 
23400, 23500, 23600, 25000, 25100, 27700, 27700, 27500, 27500, 
27400, 27400, 27300, 27200, 27300, 28500, 27200, 27200, 27200, 
27200, 27200, 27200, 27200, 27200, 27200, 26200, 26200, 26200, 
26200, 26300, 26200, 26200, 26200, 26200, 26100, 26100, 26100, 
26100, 26100, 26000, 26100, 26100, 26100, 26100, 26200, 26100, 
26200, 26200, 26300, 26300, 26300, 26300, 26300, 26300, 26300, 
26300, 26300, 26200, 26100, 26100, 26000, 25900, 25900, 25900, 
25800, 25800, 25700, 25700, 25600, 25200, 24100, 21400, 21500, 
21700, 21700, 21800, 21900, 21900, 22000, 21900, 22000, 22000, 
22100, 22100, 22100, 22100, 22100, 23200, 22100, 22100, 22000, 
22000, 22000, 21900, 21900, 21900, 21800, 21800, 21800, 21000, 
19400, 19500, 19500, 19500, 19500, 19600, 19600, 19600, 19600, 
19700, 19700, 19700, 19700, 19700, 19700, 19700, 19700, 19800, 
19800, 19900, 20000, 20000, 20100, 20900, 22400, 22400, 22300, 
22200, 22100, 22100, 22000, 21800, 21800, 21700, 20100, 21700, 
20100, 20100, 20100, 20100, 20000, 19900, 19900, 19800, 19700, 
19700, 19600, 15300, 15400, 15500, 15500, 15600, 15700, 15700, 
15700, 15800, 15900, 15900, 15900, 17600, 16000, 16000, 16000, 
16100, 16100, 16100, 16100, 16100, 16100, 16200, 16100, 16200, 
16100, 16200, 16200, 16100, 16200, 16200, 16200, 16200, 16200, 
16200, 16300, 16300, 16400, 16400, 16500, 16500, 16500, 16500, 
16500, 16500, 16400, 16500, 16500), borne = c(78500, 74100, 77600, 
75600, 79000, 75500, 76600, 72300, 75700, 75400, 75700, 78700, 
76900, 76500, 72800, 75100, 74700, 80200, 75200, 74900, 74700, 
73600, 69900, 73600, 70600, 74100, 75800, 73100, 71400, 72300, 
71300, 72400, 72700, 72200, 69400, 72600, 68900, 67700, 66000, 
64800, 66700, 68400, 65500, 66600, 63600, 106000, 106000, 109000, 
110000, 110000, 110000, 110000, 114000, 112000, 112000, 111000, 
110000, 109000, 108000, 108000, 106000, 105000, 110000, 113000, 
113000, 112000, 111000, 110000, 93500, 62600, 62700, 63300, 63300, 
63300, 63300, 63000, 63200, 62900, 62600, 62900, 62500, 62400, 
62900, 62800, 62200, 62500, 62200, 62100, 62200, 62100, 59300, 
60000, 60000, 60100, 60500, 60700, 60800, 60700, 60900, 61100, 
60800, 61000, 60900, 60800, 60300, 60500, 60600, 59300, 59500, 
59400, 59800, 60000, 59300, 56200, 56800, 56700, 56600, 56100, 
55700, 54400, 54100, 54100, 54000, 53800, 53700, 52800, 52400, 
52200, 52300, 52400, 48400, 48800, 49100, 49400, 49800, 49800, 
49700, 49800, 50200, 47100, 47400, 47500, 47700, 47500, 47600, 
47700, 47500, 47300, 47300, 47300, 47200, 47300, 46900, 45500, 
45700, 45900, 45600, 45700, 46000, 45800, 45700, 45900, 46000, 
45800, 45900, 45900, 46100, 46000, 45900, 46000, 45900, 43600, 
43700, 43700, 43600, 43700, 43500, 43500, 43500, 43200, 43300, 
43200, 41400, 41500, 41800, 41900, 41700, 41700, 41900, 41900, 
41900, 41900, 41700, 41800, 41800, 41800, 41800, 41800, 41700, 
41800, 41700, 41700, 41600, 41700, 41800, 41600, 40700, 40700, 
40800, 37800, 38100, 38600, 38800, 38700, 38700, 38400, 38200, 
38200, 38100, 37900, 37700, 37600, 37400, 37300, 37200, 37000, 
36900, 36800, 36600, 33200, 30400, 30900, 31300, 31500, 31700, 
31900, 32000, 32100, 32300, 32300, 32400, 32500, 32500, 32600, 
32700, 32800, 32800, 32900, 33000, 33000, 33100, 33200, 33300, 
33300, 33400, 33600, 33600, 33800, 33900, 34000, 34000, 34100, 
30900, 30900, 31000, 30900, 30800, 30700, 30600, 30600, 30500, 
30400, 30400, 30300, 30200, 30300, 30300, 30200, 30100, 30100, 
30000, 29900, 29900, 29900, 29800, 29700, 29700, 29700, 29700, 
29600, 29500, 29400, 29400, 29400, 29400, 29500, 29400, 29400, 
29300, 29200, 29200, 29300, 29100, 29100, 29200, 29100, 29100, 
29100, 29100, 29000, 29000, 29000, 29000, 29000, 28900, 28900, 
28900, 28900, 28900, 28800, 28900, 28800, 28800, 28800, 28700, 
28700, 28700, 28700, 28700, 28600, 28600, 28600, 28500, 28500, 
28400, 30700), comb = c(124700, 120400, 124000, 122100, 125500, 
122100, 123100, 118900, 122300, 121900, 122200, 125200, 123300, 
122900, 119100, 121400, 115400, 120900, 115800, 115400, 115200, 
114000, 110300, 114000, 110900, 114400, 116000, 106900, 105700, 
106900, 106300, 107600, 108000, 107700, 105000, 110900, 106900, 
105600, 103800, 102500, 104300, 105800, 102900, 103800, 100700, 
143000, 142900, 142000, 143300, 143400, 143500, 143600, 147600, 
145600, 145600, 144500, 143500, 142500, 141500, 141400, 140000, 
136600, 141600, 144600, 144700, 143700, 142600, 141600, 125000, 
94000, 94100, 94600, 94500, 94400, 94300, 95100, 95700, 95600, 
95400, 95700, 95400, 95300, 95800, 95700, 95000, 95400, 95100, 
95000, 95000, 94900, 92000, 92700, 92700, 92700, 93200, 93300, 
93400, 93300, 93500, 93700, 93300, 93500, 93300, 93200, 89200, 
89500, 89800, 88600, 88900, 89500, 90800, 90900, 90100, 87000, 
87500, 87300, 87200, 86700, 86100, 84800, 84400, 84400, 84300, 
84000, 83900, 82900, 82500, 82200, 82300, 82400, 78300, 78700, 
79300, 79300, 76900, 77000, 77000, 77100, 77600, 73100, 70400, 
70700, 71100, 71000, 71200, 72700, 72600, 75000, 75000, 74800, 
74700, 74700, 74300, 72800, 72900, 73200, 74100, 72900, 73200, 
73000, 72900, 73100, 73200, 73000, 73100, 73100, 72300, 72200, 
72100, 72200, 72200, 69800, 69900, 69900, 69800, 69800, 69600, 
69600, 69600, 69300, 69300, 69300, 67500, 67600, 67900, 68100, 
67800, 67900, 68100, 68200, 68200, 68200, 68000, 68100, 68100, 
68100, 68100, 68100, 67900, 67900, 67800, 67700, 67500, 67600, 
67700, 67400, 66500, 66400, 66500, 63400, 63300, 62700, 60200, 
60200, 60400, 60100, 60000, 60100, 60000, 59900, 59600, 59600, 
59400, 59400, 59300, 59100, 59000, 58900, 59800, 55300, 52500, 
52900, 53300, 53500, 53600, 53800, 53900, 53900, 54100, 54100, 
53400, 51900, 52000, 52100, 52200, 52300, 52400, 52500, 52600, 
52600, 52800, 52900, 53000, 53000, 53100, 53300, 53300, 53500, 
53700, 53800, 53900, 54100, 50900, 51000, 51900, 53300, 53200, 
53000, 52800, 52700, 52600, 52400, 52200, 52100, 51900, 50400, 
52000, 50300, 50200, 50200, 50100, 49900, 49800, 49800, 49600, 
49400, 49400, 49300, 45000, 45000, 45000, 44900, 45000, 45100, 
45100, 45200, 45200, 45300, 45200, 45100, 46800, 45300, 45100, 
45100, 45300, 45200, 45200, 45200, 45200, 45100, 45200, 45100, 
45200, 45100, 45100, 45100, 45000, 45100, 45100, 45000, 45100, 
45000, 45000, 45100, 45000, 45100, 45100, 45200, 45200, 45100, 
45100, 45100, 45000, 44900, 44900, 47200)), .Names = c("date", 
"ville", "borne", "comb"), row.names = c(NA, 336L), class = "data.frame")

我使用以下公式来重塑数据:

renewdata <- melt(newdata,id=c("date"))

但我收到以下错误:

Error in data.frame(ids, variable, value, stringsAsFactors = FALSE) : 
  arguments imply differing number of rows: 336, 1008

但是,如果我只使用两个数据列的上述公式,那么它可以正常工作。熔化功能只用两列吗?任何解决此问题的建议都非常感谢。

所需的输出如下:

                 date    variable value
1 2010-01-01 00:00:00     ville 46200
2 2010-01-01 01:00:00     ville 46300
3 2010-01-01 02:00:00     ville 46400
4 2010-01-01 03:00:00     ville 46500
5 2010-01-01 04:00:00     ville 46500
6 2010-01-01 05:00:00     ville 46600

1 个答案:

答案 0 :(得分:7)

我刚使用reshape2包尝试过,我得到了同样的错误。问题似乎是recycling。也就是说,类POSIXlt POSIXt的列似乎没有回收。

现在让我详细解释一下。首先输入reshape2:::melt.data.frame来查看此函数。如果您现在输入:

debugonce(reshape2:::melt.data.frame)
melt(newdata, id.var = "date")

然后,您将处于调试模式。继续按下输入,直到看到此输出:

debug: df <- data.frame(ids, variable, value, stringsAsFactors = FALSE)
Browse[2]> 

在您按Enter键之前,请检查ids的外观。它是data.frame,其中一列与第一列(日期)完全相同。那是它的尺寸是336 * 1。现在,如果您再次按Enter键,您将看到您发布的错误消息:

Error in data.frame(ids, variable, value, stringsAsFactors = FALSE) : 
  arguments imply differing number of rows: 336, 1008

那么,这里发生了什么?错误来自以下行:

df <- data.frame(ids, variable, value, stringsAsFactors = FALSE)

此处,由于idsdata.frame,其列的类型为POSIXlt POSIXt,因此回收似乎不会发生。也就是说,如果你这样做:

x <- data.frame(date = 1:4) 
data.frame(x, y = 1:20)

你看到date列被回收了,这很好用!现在,让我们尝试使用x作为POSIXlt POSIXt对象。

x <- data.frame(date = newdata$date[1:4]) 
# Note: the above assignment will convert x$date to POSIXct 
# (as POSIXlt is internally a list)
x$date <- as.POSIXlt(x$date) # get x$date to POSIXlt
data.frame(x, y = 1:20) # the way reshape2 handles melt function
Error in data.frame(x, y = 1:20) : 
  arguments imply differing number of rows: 4, 20

所以,基本上,POSIXlt POSIXt不会被回收。例如,您可以将日期列转换为POSIXct,然后尝试使用它。对于前者,这有效:

x <- data.frame(date = newdata$date[1:4])
data.frame(x, y = 1:20)
# works fine!

希望这有帮助。