Как экспортировать фрейм данных в R в таблицу в MySQL - PullRequest
5 голосов
/ 15 ноября 2011

Я пытался sqlSave() в RODBC, но он работает очень медленно.Есть ли альтернативный способ сделать это?

Ответы [ 2 ]

10 голосов
/ 15 ноября 2011

Вы можете посмотреть на пакет RMySQL. Я использую его, и он предлагает довольно удобную загрузку и чтение данных из базы данных MySQL. При этом он ограничен в запросах, которые вы можете использовать (например, HAVING невозможен IIRC). Я не могу сказать, что это очень быстро, или мои данные такие большие, но это несколько 2-значных МБ текста, и это нормально. Зависит от того, что вы ожидаете. Однако это удобно:

con <- dbConnect(MySQL(), user="user", password="pass", 
    dbname="mydb", host="localhost",client.flag=CLIENT_MULTI_STATEMENTS)

dbListTables(con)
yourtable <- dbReadTable(con,"sometable")
# write it back
dbWriteTable(con,"yourTableinMySQL",yourtable,overwrite=T)
# watch out with the overwrite argument it does what it says :)
dbDisconnect(con)

yourtable будет data.frame. Иногда мне жаль, что режимы не установлены так, как я ожидал, но у меня есть специальная функция для этого. Просто нужно улучшить, тогда я выложу здесь.

http://cran.r -project.org / веб / пакеты / RMySQL /

0 голосов
/ 01 марта 2016

Перед установкой RMySQL необходимо установить клиентские коды mysql.Не зная, какую ОС и версию вы используете, на самом деле невозможно дать лучший ответ.

...