2017-01-11 3 views
4

У меня есть большой набор данных с почти 2000 переменными в r. Затем я использую sqldf для написания нескольких операторов case для создания новых столбцов в исходном наборе данных. Однако я получаю следующее сообщение об ошибке:Ошибка в R Использование SQLDF: слишком много переменных SQL

Error in rsqlite_send_query([email protected], statement) : too many SQL variables 

Я перезагрузил свой ноутбук сегодня и ранее эта ошибка никогда не происходила.

Любая помощь приветствуется.

+1

См https://www.sqlite.org/limits.html –

+0

Не могли бы вы уточнить, на что я должен ввести в г? Ссылка дает информацию, но я не могу настроить максимальные столбцы. Я пробовал «SQLITE_MAX_COLUMN» безрезультатно. – greeny

+2

В R. Вам нечего делать, чтобы получить исходный код RSQLite из CRAN или github, изменить SQLITE_MAX_COLUMN в коде SQLite C, включенном в RSQLite, а затем перестроить пакет - - который также перестроит SQLite. –

ответ

1

Я столкнулся с той же проблемой. Я просто ограничил число столбцов

# here creating data with alot of columns 
a<- mtcars 
for(i in 1:1000){ 
b <- mtcars 
colnames(b) <- paste(colnames(b), i , sep="_") 
a <- cbind(b , a) 
} 

ncol(a) 

# I get the error here 
sqldf("Select SUM(wt) as weights from a ") 

#so I just limited the columns 
z <- a[ , c("gear","wt")] 
# and than this works 
sqldf("Select SUM(wt) as weights from z ")