Почему в dlply (в пакете R plyr) нет индикатора выполнения

Я использую пакет plyr для обработки списков и фреймов данных. Я заметил следующее поведение:

Пример 1 -

list_2 <- llply(list_1, function_1, .progress='text')

это работает так, как ожидалось. Он генерирует список_2 из списка_1 с применением функции_1 к каждому элементу списка_1, и я вижу индикатор выполнения.

Пример 2 -

list_3 <- dlply(list_2, function_2, .progress='text')

это также работает, поскольку я получаю результаты в list_3, которые я ожидаю, однако я не получаю индикатор выполнения.

Таким образом, почему индикатор выполнения не работает для dlply, но работает для llply. (Это также работает для ldply).


person John    schedule 27.06.2012    source источник


Ответы (1)


Потому что вы ни на что не делите свои data.frame. Если ваш второй пример был:

list_3 <- dlply(df_2, .(colname2), function_2, .progress='text')

тогда это сработает. Счетчик прогресса в plyr основан на количестве завершенных чанков.

person Harlan    schedule 27.06.2012