середу, 22 грудня 2010 р.

R та Postgres

При аналізі даних цікавий імпорт даних з інших джерел, зокрема електронних таблиць (Excel, OpenOffice Spreadsheet) та баз даних. Якщо з електронними таблицями все взагалі просто,  то з базами даних потрібно трошки тєлодвіжєній.
Будемо отримувати доступ до  бази даних Postgres, R запущено на Ubuntu 9.04:

Встановлюємо ODBC та postgresql драйвер
sudo apt-get install unixODBC odbc-postgresql
Редагуємо 2 конфігураційні файли odbcinst.ini, який містить загальну інформацію та odbc.ini, який містить властивості підключення до конкретної бази.  Файл odbcinst.ini може виглядати так:
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/odbc/psqlodbcw.so 
Setup = /usr/lib/odbc/libodbcpsqlS.so

Файл odbc.ini може виглядати так:
[ODBC Data Sources]
mydb1= Database description[mydb1]
Driver = /usr/lib/odbc/psqlodbcw.so
Database = mydb1
Servername =host
Username = username
Password = password
Port = port
Protocol = 8.2.5
ReadOnly = 0
[ODBC]
InstallDir = /usr/lib

sudo apt-get install r-cran-rodbc - встановлюємо RODBC,  також це можна зробити  і з R
$ sudo R
>install.packages("RODBC")
>q()
Доступ з R здійснюється так:
>library(RODBC)
>chan  <- odbcConnect("mydb1", case="postgresql", believeNRows=FALSE)
>sqlTables(chan)  #Виводить всі таблиці БД
>mydata <- sqlFetch(chan, "some_table")#Повертає таблицю як датафрейм;
>odbcClose(chan)
Тепер для аналізу даних, які зберігаються в Postgres можемо використовувати функціонал R.

Немає коментарів:

Дописати коментар