У меня есть данные о формеЭффективная репликация данных в R
dates = as.Date(c("2015-04-07","2015-04-07","2015-04-08","2015-04-08"))
hour = rep(c(1,2),2)
value = c(3,6,8,4)
example.data = data.frame(dates,hour,value)
, который дает
dates hour value
1 2015-04-07 1 3
2 2015-04-07 2 6
3 2015-04-08 1 8
4 2015-04-08 2 4
, и я хотел бы, чтобы генерировать данные для каждой четверти часа с постоянной заполнить.
Результаты должны быть
dates hour qhour value
1 2015-04-07 1 0 3
2 2015-04-07 1 1 3
3 2015-04-07 1 2 3
4 2015-04-07 1 3 3
5 2015-04-07 2 0 6
6 2015-04-07 2 1 6
7 2015-04-07 2 2 6
и так далее. Таким образом, просто повторяется каждое значение в час за каждый квартал, если час в течение этого соответствующего часа. Можно ли это сделать, используя sqldf
или что-то подобное. Конечно, мои данные заданы, если намного больше, чем пример.
Для этого в пакете 'splitstackshape' предусмотрена оберточная функция. Попробуйте 'library (splitstackshape); expandRows (example.data, 4, count.is.col = FALSE) ' –