Используя FFDFs, линейно распределите суммы по месяцам

Это дополнительный вопрос к линейно распределенным суммам по месяцам.

Во-первых, большое спасибо Сеньору О, Мишелю и Дж. Гротендику за помощь в решении первоначального вопроса.

Теперь на мой вопрос. Пожалуйста, обратите внимание на следующее FFDF:

require(ffbase)
start <- c(as.Date("2013-01-01"), as.Date("2013-02-01"), as.Date("2013-04-01"), as.Date("2013-04-16"), as.Date("2013-05-16"))
end <- c(as.Date("2013-01-31"), as.Date("2013-03-31"), as.Date("2013-04-15"), as.Date("2013-05-15"), as.Date("2013-05-31"))
amount <- c(100, 200, 50, 100, 50)
id <- c("M1","M2","M3","M4","M5")
df <- data.frame(start,end,amount,id)
ffdf <- as.ffdf(df)

Я хотел бы сделать то же, что и раньше, разделить суммы линейно по календарному месяцу. Но на этот раз работаем со структурами данных FFDF.

Первоначальный ответ, использующий Map для "разбрызгивания" выходных данных пользовательской функции разнесения в вызов rbind с последующей агрегацией, оказался очень хорошим опытом обучения. Потребовалось два дня, чтобы по-настоящему понять, как работает это решение, но в итоге я пришел туда и сделал именно то, что хотел.

Однако, применяя это обучение к реальному набору данных, я столкнулся с проблемами с памятью, после чего обнаружил пакет ff, и это было очень полезно.

Чтобы попытаться сделать то же самое с ffdfs, я попытался использовать ffdfdply, но оказался очень растерян и обращаюсь к SO за некоторыми советами.

Большое спасибо!

0 ответов

Другие вопросы по тегам