Как установить пакет RSQLite.extfuns в R

У меня проблема с установкой пакета RSQLite.extfuns. Я получаю сообщение об ошибке:

package ‘RSQLite.extfuns’ is not available (for R version 3.4.2)

Я попытался сделать это вручную, загрузив файл с https://cran.r-project.org/src/contrib/Archive/RSQLite.extfuns/, но и с негативными последствиями. Кто-нибудь может решить мою проблему?


person tomsu    schedule 19.10.2017    source источник


Ответы (3)


Эти функции теперь находятся в самом RSQLite. Вызовите команду initExtension для доступа к ним. В этом примере используется функция variance из extfuns:

library(RSQLite)

m <-dbDriver("SQLite")
con <- dbConnect(m, dbname = ":memory:")

initExtension(con)  # access extfuns

dbWriteTable(con, 'BOD', BOD, row.names = FALSE)

dbGetQuery(con, 'select variance(demand) from BOD')
##   variance(demand)
## 1         21.44267

dbDisconnect(con)

Также обратите внимание, что sqldf загружает их автоматически, поэтому вам не нужно делать ничего особенного, если вы его используете:

library(sqldf)

sqldf('select variance(demand) from BOD')
##   variance(demand)
## 1         21.44267
person G. Grothendieck    schedule 19.10.2017
comment
Как я могу получить функцию hflights_sqlite? Я пытаюсь имитировать систему аутентификации, как в ссылке: gist.github.com/trestletech/9793754 - person tomsu; 19.10.2017
comment
Когда я пытаюсь запустить приложение по ссылке, у меня возникает ошибка: не удалось найти функцию hflights_sqlite. Как я могу помочь R найти эту функцию? - person tomsu; 19.10.2017

Пакеты были удалены из CRAN как минимум несколько секунд назад. Сейчас лучше всего собрать пакет вручную. Чтобы сделать это в Windows, вам понадобится несколько инструментов, таких как Rtools (и LaTeX, я думаю).

Если вы используете Mac или Linux, вы, вероятно, уже настроены.

Недостатком этого является то, что вам, возможно, придется вручную удовлетворять все зависимости. Обновленные пакеты могут работать, а могут и нет. В этом случае вам придется установить более старые версии. Попробуйте использовать packrat.

person Roman Luštrik    schedule 19.10.2017
comment
Я работаю над окнами. Не подскажете, как с помощью Rtools установить интересующий меня пакет? Я попытался установить библиотеки, которые находятся в RSQLite.extfuns, но после нескольких я получаю сообщение об ошибке: Ошибка в hflights_sqlite(): не удалось найти функцию hflights_sqlite - person tomsu; 19.10.2017
comment
В зависимости от вашего пробега, это может быть не тривиальным процессом. О том, как скомпилировать пакет, отвечали снова и снова. Сначала воспользуйтесь своей любимой поисковой системой. - person Roman Luštrik; 19.10.2017

Как насчет установки из исходного кода с помощью пакета «devtools» (хотя это может не работать для более новых версий R):

devtools::install_version("RSQLite.extfuns", version = "0.0.1", repos = "http://cran.us.r-project.org")
person loveR    schedule 07.08.2019