result_create (conn @ ptr, оператор): слишком большой результат - PullRequest
0 голосов
/ 16 декабря 2018
t1_DA <- sqldf("select decile, 
               count(decile) as count, avg(pred_spent) as avg_pred_spent,   
               avg(exp(total_spent)) as avg_total_spent,
               avg(log(pred_spent)) as ln_avg_pred_spent,   
               avg(total_spent) as ln_avg_total_spent
               from t1
               group by decile
               order by decile desc")

Я делаю линейную регрессию для файла, и когда я запускаю эту часть кода, я получаю следующую ошибку

Ошибка в result_create (conn @ ptr, Statement): Результат тожеlarge

Есть ли способ преодолеть эту ошибку?

1 Ответ

0 голосов
/ 16 декабря 2018

Как уже упоминалось, по умолчанию sqldf использует диалект SQLite, который не поддерживает обширные математические и статистические функции, такие как exp и log.По общему признанию, лучше поднятое сообщение может помочь пользователям отлаживать, а не Результат слишком велик (возможно, проблема git для автора, @ggrothendieck?).

Однако, по порядкучтобы интегрировать эти выходные данные в ваш агрегированный запрос, рассмотрите возможность создания этих столбцов до запуска в sqldf.Используйте transform или within для простого назначения нового столбца без постоянной ссылки на фрейм данных с использованием подхода назначения $.

t1 <- transform(t1, exp_total_spent = exp(total_spent),
                    log_pred_spent = log10(log_pred_spent)
                )
# ALTERNATIVE
t1 <- within(t1, {exp_total_spent <- exp(total_spent)
                  log_pred_spent <- log10(log_pred_spent)
             })

t1_DA <- sqldf("select decile, 
                       count(decile) as count, 
                       avg(pred_spent) as avg_pred_spent,   
                       avg(exp_total_spent) as avg_total_spent,
                       avg(log_pred_spent) as ln_avg_pred_spent,   
                       avg(total_spent) as ln_avg_total_spent
                from t1
                group by decile
                order by decile desc")
...