Montemos un sistema de información en nuestro equipo (III)

18 Dic

Vamos a conectar R a nuestra BBDD postgres. Lo vamos a hacer vía ODBC con el paquete de R RODBC [inciso] recordad que todo el trabajo lo estamos realizando bajo Win. Además trabajar con ODBC nos permitirá conectar nuestro postgres con Access o Excel. Aunque para este tipo de tarea recomiendo el uso del Data Integration de Pentaho. El primer paso será descargarnos de esta dirección los controladores ODBC para Postgres que se adecúen con nuestro S.O. y nuestra versión de postgres. Tras instalarlos ya podemos ir a las Herramientas Administrativas Orígenes de Datos ODBC e introducimos un nuevo DSN de sistema y de usuario:

sinfo_casero7.png

Ya tenemos un origen de datos ODBC para nuestra BBDD de postgres llamado PostgreSQL30. Podemos crear la conexión con R:

library(RODBC)
con = odbcConnect("PostgreSQL30",case="postgresql")

Ya tenemos conectado R con nuestra BBDD y podemos realizar consultas sobre ella:

datos = sqlQuery(con,"SELECT * FROM red_wine")

Seleccionamos todos los campos de la tabla red_wine que cargamos en el capítulo anterior del monográfico. También estamos en disposición de subir a nuestro postgres los objetos de R que deseemos:

#Creamos una muestra aleatoria de 100 registros
selec = sample(1:nrow(datos),100)
muestra = datos[selec,]
#Subimos a la BBDD postgres el data frame de R
sqlSave(con,muestra)

Vemos que la función sqlSave nos permite guardar en la BBDD aquellos objetos de R que consideremos necesarios. En pocos pasos estamos construyendo herramientas para que nuestro equipo tenga un pequeño sistema de información. Este sistema se sustenta en tre pilares fundamentales: Postgres, Data Integration de Pentaho y R. Software libre.

3 respuestas a «Montemos un sistema de información en nuestro equipo (III)»

  1. Gracias, rvaquerizo, por tan grata publicación.

    A veces me embarga la duda de si es más útil guardar todas mis tablas (y sus datos) dentro de un solo archivote o mantenerlas como las tengo. Al fin tampoco tengo mis datos dispersos por mi ordenador sino bajo la carpeta /datos y cada carpeta que está allí dentro tiene un nombre útil (/datos/supermercadoA) y por eso no me pierdo en mis datos.

    Probaré esta propuesta (con la variación, como lo dijo alguien ya, de usar SQLite ;) ) y te comentaré (quizá en algunos meses) cómo me va.

    Gracias.

  2. Hola: Me concacto con vos porque quieron hacer un sistema
    web de informacion de gestion y quisiera guardar resultados calculados con R.
    Estoy viendo Montemos un sistema de información en nuestro equipo (III)”
    pero no encuentro como sigue….
    yo quiero guardar los datos de summary() en una base de datos sql.
    Cual seria el comando

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *