Завершить () пустые столбцы в r для временного ряда (Tidyr) - PullRequest
0 голосов
/ 07 июня 2018

У меня возникают трудности с использованием функции Tidyr "complete ()" для заполнения столбцов за отсутствующие недели.Хотя функция complete () работает, она проходит весь год 35 раз и заполняет 4375 записей, а не просто 125.

Короче говоря, когда я пытаюсь использовать функцию complete, она не просто завершаеткадр данных, но дублирует все столбцы 35 раз.

Я пробовал несколько разных подходов, включая с и без функции full_seq.

1-й подход:

   Df %>%
      group_by(week = week(`Local Start Time`)) %>%
      complete(week = 1:52)

Второй подход:

   Df %>%
      group_by(week = week(`Local Start Time`)) %>%
      complete(week = full_seq(week <- c(1:52), 1L))

Я ожидал, что кадр данных остановится в строке125, но вместо этого функция complete () перебирает все годовые данные (35 раз!) И продолжается до столбца 4375.

Ideally, it would stop at row 125.

Любой совет приветствуется,спасибо!

Данные, которые я использовал здесь ...

structure(list(`Local Start Time` = structure(c(1483846399, 1483846519, 
1483851979, 1484734742, 1485017522, 1485190862, 1486236902, 1486238462, 
1486347422, 1486448822, 1487221742, 1487392502, 1487449502, 1487678750, 
1487679111, 1487679411, 1487683370, 1488321651, 1488745130, 1489353950, 
1489710710, 1491043550, 1492036467, 1492105535, 1492150284, 1492180823, 
1492772358, 1493428578, 1493440398, 1493465717, 1493476518, 1493484558, 
1493495837, 1493622558, 1493639598, 1493718078, 1493718858, 1493720778, 
1495021772, 1495598357, 1495599017, 1496175677, 1496428517, 1496439678, 
1496494637, 1496632757, 1496887457, 1496887757, 1496888117, 1497031577, 
1497207557, 1497318797, 1497368657, 1497491178, 1497558017, 1497857478, 
1498220117, 1498245977, 1498246577, 1498255277, 1498257797, 1499203517, 
1499470577, 1500752057, 1500899837, 1502036477, 1502392277, 1502410817, 
1502428157, 1502429957, 1503492618, 1503500417, 1503507318, 1503672677, 
1503674057, 1503674370, 1503675077, 1503923478, 1503928037, 1503932777, 
1503943037, 1503972019, 1503989537, 1504383497, 1504421837, 1504639337, 
1504656977, 1504672937, 1504682418, 1504722677, 1506766878, 1507180518, 
1507184597, 1507228877, 1507229657, 1507370717, 1508326217, 1508343977, 
1508357297, 1508374397, 1508492838, 1508555177, 1508560158, 1508868737, 
1509231244, 1509252184, 1509845644, 1510709818), class = c("POSIXct", 
"POSIXt"), tzone = "UTC"), week = c(2, 2, 2, 3, 3, 4, 5, 5, 6, 
6, 7, 7, 7, 8, 8, 8, 8, 9, 10, 11, 11, 13, 15, 15, 15, 15, 16, 
17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 20, 21, 21, 22, 22, 
22, 22, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 25, 25, 25, 25, 
25, 25, 27, 27, 29, 30, 32, 32, 32, 32, 32, 34, 34, 34, 34, 34, 
34, 34, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 39, 
40, 40, 40, 40, 40, 42, 42, 42, 42, 42, 42, 42, 43, 43, 44, 45, 
46)), class = "data.frame", row.names = c(NA, -108L), .Names = c("Local Start Time", 
"week"))
...