SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
Curso sobre el software estad´ıstico R: Introducci´on al entorno de R
Ponente: Carlos P´erez Glez.
Entidades participantes en el curso:
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 1 / 36
Introducci´on al entorno de R
R es un lenguaje de alto nivel y un entorno para la manipulaci´on de datos, c´alculo y gr´aficos.
1 Almacenamiento y manipulaci´on efectiva de datos
2 Operadores para c´alculo sobre variables indexadas y matrices
3 Amplia, coherente e integrada colecci´on de herramientas para an´alisis de datos
4 Grandes posibilidades gr´aficas
5 Lenguaje de programaci´on orientado a objetos bien desarrollado, simple y efectivo
6 Lenguaje interpretado, no compilado. Posibilidad de usar scripts
7 Es de c´odigo abierto: se distribuye bajo la GPL (General Public License), que no impone
ninguna restricci´on al uso de R (tanto acad´emico como comercial). Website:
http://www.r-project.org/
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 2 / 36
¿Por qu´e R?
Para alumnos:
1 Dispone de las herramientas cl´asicas de la estadistica
2 Es multiplataforma y gratis
3 Ofertas de trabajo
Para investigadores:
1 Desarrollos estad´ısticos avanzados
2 Proliferaci´on de c´odigo R en muchos trabajos cient´ıficos
Para universidades:
1 Ahorro de licencias campus de software propietario (SPSS)
2 Implica menos problemas de soporte t´ecnico
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 3 / 36
Ventajas de R
1 Posibilidad de combinar an´alisis “empaquetados” en librer´ıas con desarrollos propios “ad-hoc”
2 Gr´aficos de alta calidad exportables a distintos formatos
3 Consume pocos recursos inform´aticos
4 Puede ejecutarse remotamente y conectarse con otros programa (llamar a librer´ıas de R
desde PROC IML)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 4 / 36
Desventajas de R
1 Interfaz gr´afica limitada (aunque se dispone de varios GUI que suplen esta deficiencia desde
el punto de vista docente)
2 No hay soporte comercial
3 El lenguaje de comandos es un lenguaje de programaci´on
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 5 / 36
Estructura de un sistema R
R consta de un sistema base (instalaci´on primaria) pero se pueden extender las funcionalidades
mediante librer´ıas o paquetes (se instalan bajo demanda). Algunos de estos paquetes son:
mva: Classical multivariate analysis
maptools: Herramientas para el manejo de objetos geoespaciales
googleVis: Librer´ıa que sirve de interfaz entre R y Google chart tools
. . . .
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 6 / 36
Sesi´on de R
Se puede iniciar una sesi´on de R en modo terminal (en sistemas Linux) o empleando un R GUI
(en sistemas windows).
La interfaz de R para windows proporciona un men´u muy b´asico para gestionar algunos aspectos
de sesi´on de R:
1 El hist´orico de comandos (.Rhistory)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 7 / 36
Sesi´on de R
Se puede iniciar una sesi´on de R en modo terminal (en sistemas Linux) o empleando un R GUI
(en sistemas windows).
La interfaz de R para windows proporciona un men´u muy b´asico para gestionar algunos aspectos
de sesi´on de R:
1 El hist´orico de comandos (.Rhistory)
2 El espacio de trabajo de la sesi´on (.RData)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 7 / 36
Sesi´on de R
Se puede iniciar una sesi´on de R en modo terminal (en sistemas Linux) o empleando un R GUI
(en sistemas windows).
La interfaz de R para windows proporciona un men´u muy b´asico para gestionar algunos aspectos
de sesi´on de R:
1 El hist´orico de comandos (.Rhistory)
2 El espacio de trabajo de la sesi´on (.RData)
3 La instalaci´on de librer´ıas desde un repositorio CRAN
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 7 / 36
Uso b´asico de R
Desde R se pueden realizar sencillas operaciones aritm´eticas
(4 - 3) * 2/3
sqrt (9)
sin(pi/2)
factorial (3)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 8 / 36
Uso b´asico de R
R ejecuta ciertas operaciones que, en otros programas, podr´ıan generar mensajes de error
1/0
0/0
log (-1)
sqrt (-9)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 9 / 36
Almacenar resultados en variables. El espacio de trabajo
El operador de asignaci´on (<-) permite almacenar valores:
a <- log (10)
a <- log (10)
a = log (10) #¿cual usar: = o <-?
a <- rnorm (4, mean = 10, sd = 1) # en R se utiliza = para asignar valores a los argumentos de las funciones
Al introducir los comandos anteriores, hemos creado un objeto en R: la variable “a”. Este objeto
se almacena en una zona de memoria llamada “espacio de trabajo”.
ls()
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 10 / 36
La ayuda en R
Para invocar la ayuda en R, podemos hacerlo de la forma siguiente
help(rnorm)
?rnorm
help.search("pc -axis")
help.start ()
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 11 / 36
Vectores en R
Crear secuencias de vectores
x <- c(1, 2, 3, 4, 5)
y <- c(1:5)
?seq
# los argumentos con = significa que hay que escribir el nombre los
# argumentos sin = significa que hay que ponerlos en el mismo orden
z <- seq(1, 10, by = 2)
w <- rep (1:5 , times = 2)
w <- rep (1:5 , each = 3)
Operaciones con vectores
2 * x
x + z
x * z
# se pueden sumar vectores de distinta longitud pero se produce un efecto
# c´ı clico
x + w
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 12 / 36
Vectores como argumentos de funciones en R
Algunas funciones se eval´uan sobre un vector y devuelven otro vector de la misma longitud.
Otras, en cambio, devuelven un escalar
log(x)
sum(x)
range(x)
length(x)
Incluso al evaluar una condici´on sobre un vector se obtiene un vector
x < 3
x < 3 | z > 5
x < 3 & z < 5
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 13 / 36
Elementos de un vector
Para seleccionar elementos de un vector se utiliza la notaci´on de []:
x <- c(1, 2, 3, 4, 5)
x[3] # elementos de un vector
x[c(1:2)] # partes de un vector
x[1:2] # partes de un vector
x[-1] # quitar partes de un vector
# ¿C´omo seleccionar los elementos de x menores que 2?
se pueden modificar los vectores haciendo uso del operador asignaci´on:
x[1:2] <- c(12, 13)
x[1:2] <- 0
x[15] <- 0
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 14 / 36
Tipo de los elementos de un vector
Los vectores en R son objetos con todos sus elementos del mismo tipo
x <- c(1, 2, 3, 4, 5)
class(x)
x <- c(1, 2, "hola")
class(x)
Se pueden asignar nombres a cada componente de un vector
x <- c(1, 2, 3, 4, 5)
names(x) <- c("primero", "segundo", "tercero", "cuarto", "quinto")
attributes(x)
x[2] # accede al elemento 2ndo.
x["segundo"]
x[segundo]
Hay funciones que podemos utilizar para verificar si un objeto es o no un vector
is.vector(x)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 15 / 36
Factores en R
Los factores son vectores que alamcenan datos categ´oricos (variable con varios niveles)
x <- c("Juan", "Paco", "Mar´ıa", "Arturo")
s <- c("hombre", "hombre", "mujer", "hombre")
s <- factor(s)
attributes(s)
is.factor(s)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 16 / 36
Matrices en R
Las matrices se crean en R utilizando matrix() (bidimensionales) o array() (m´as de 2 dimensiones)
m <- matrix (1:6 , nrow = 3, ncol = 2)
m[1, ]
m[, 2]
attributes(m)
dimnames(m) <- list(c("A", "B", "C"), c("1", "2"))
attributes(m)
is.matrix(m)
m["A", ]
m[, "2"]
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 17 / 36
Listas en R
Las listas en R son colecciones ordenadas de objetos
l <- list(padres = c("Juan", "Mar´ıa"), num.hijos = 2, edad.hijos = c(3, 7))
# observar que se emplea = para asignar los nombres a los objetos y no el
# operador <-
attributes(l)
names(l)
is.list(l)
l[[1]] # accede al objeto 1ro.
l[["padres"]] # accede al objeto ’padres ’
l$padres # accede al objeto ’padres ’
l$padres <- c("Juan P´erez", "Mar´ıa Gonz´alez")
l$padres [2]
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 18 / 36
Hojas de datos en R
Las hojas de datos en R son matrices de datos formadas por elementos (columnas) de igual
longitud (filas). En general, cada columna representa una variable y cada fila una observaci´on.
id <- c(1:6)
sexo <- rep(c("HOMBRE", "MUJER"), each = 3)
edad <- sample (20:60 , size = 6, replace = TRUE)
d <- data.frame(id = id , sexo = sexo , edad = edad)
attributes(d)
names(d)
d[[2]]
d[["sexo"]]
d$sexo
class(d$sexo)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 19 / 36
Paquetes en R
1 La gran potencia que proporciona R reside en la gran cantidad de paquetes desarrollados y
que se encuentran en repositorios CRAN.
library () # listar todos los paquetes disponibles en R
install.packages("RJSONIO")
install.packages("ggplot", dependencies = TRUE)
library(RJSONIO) # cargar el paquete
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 20 / 36
Paquetes en R
1 La gran potencia que proporciona R reside en la gran cantidad de paquetes desarrollados y
que se encuentran en repositorios CRAN.
2 En la instalaci´on base de R se instalan s´olo algunos de ellos.
library () # listar todos los paquetes disponibles en R
install.packages("RJSONIO")
install.packages("ggplot", dependencies = TRUE)
library(RJSONIO) # cargar el paquete
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 20 / 36
Paquetes en R
1 La gran potencia que proporciona R reside en la gran cantidad de paquetes desarrollados y
que se encuentran en repositorios CRAN.
2 En la instalaci´on base de R se instalan s´olo algunos de ellos.
3 A medida que se necesitan nuevas funcionalidades, se pueden instalar f´acilmente
library () # listar todos los paquetes disponibles en R
install.packages("RJSONIO")
install.packages("ggplot", dependencies = TRUE)
library(RJSONIO) # cargar el paquete
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 20 / 36
El directorio de trabajo. La carga de datos
Cuando se inicia R, el programa configura por defecto un directorio desde donde se leen o donde
se guardan ficheros. Los comandos getwd() y setwd() permiten consultar y cambiar el directorio
de trabajo.
getwd ()
setwd("C: RLibraries")
Si queremos cargar un conjunto de datos desde un archivo situado en el directorio de trabajo, lo
podemos hacer mediante el comando read.table()
# cargar los datos utilizando read.table (en local)
setwd("C: RLibraries")
data.espacios.nat <- read.table(file = "superficie_espacios_naturales.txt", header = T, sep = ";")
data.geo.municipios <- read.table(file = "datos_geograficos_islas.txt", header = T, sep = ";")
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 21 / 36
Otros m´etodos para la carga de datos
Se puede utilizar read.table() para cargar datos desde un lugar remoto:
# cargar los datos utilizando la funci´on url () (en remoto , por http://)
data.url <- "http://dl.dropbox.com/u/17677514/datos_geograficos _islas.txt"
data.geo.municipios <- read.table(file = url(data.url), header = T, sep = ";")
# cargar los datos utilizando la funci´on url () (en remoto , por https://)
data.url <- "https://raw.github.com/cpgonzal/cursoR/gh -pages/data/datos_ geograficos _islas.txt"
library(RCurl)
data.geo.municipios <- read.table( textConnection (getURL(data.url , ssl.verifypeer = FALSE )),
header = T, sep = ";")
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 22 / 36
Otros m´etodos para la carga de datos
Podemos completar los data.frames con m´as variables:
# crear factores con etiquetas
data.geo.municipios$Isla <- factor(data.geo.municipios$Isla ,
levels = c("El Hierro", "La Palma", "La Gomera",
"Tenerife", "Gran Canaria", " Fuerteventura ",
"Lanzarote"))
data.geo.municipios$Provincia <- c(rep("Las Palmas", 34),
rep("S/C. de Tenerife", 54))
Tambi´en podemos crear data.frames con informaci´on resumida:
# resumir datos from data frames
data.geo.islas <- aggregate(data.geo.municipios[, c(3, 5)],
by = list(Provincia = data.geo.municipios$Provincia ,
Isla = data.geo.municipios$Isla), FUN = sum , na.rm = T)
data.geo.islas$Altitud <- aggregate(data.geo.municipios[, 6],
by = list(Provincia = data.geo.municipios$Provincia ,
Isla = data.geo.municipios$Isla), FUN = max , na.rm = T)[, 3]
# estructura de los datos
str(data.geo.islas)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 23 / 36
Otros m´etodos para la carga de datos
Para cargar datos en formato JSON:
# read en JSON format
library(RJSONIO)
data.url <- "http://www. gobiernodecanarias .org/istac/jaxi -istac/
tabla.do?accion=jsonMtd& uuidConsulta =7 db99ff7 -4aab -4a57 -a378 - fc472aecaeb6 "
data.json <- paste(readLines(data.url , encoding = "UTF -8")[1] , collapse = "")
## Warning : incomplete final line found on
## ’http://www. gobiernodecanarias .org/istac/jaxi -istac/
## tabla.do? accion = jsonMtd & uuidConsulta =7 db99ff7 -4aab -4a57 -a378 - fc472aecaeb6 ’
data.json <- fromJSON(data.json , encoding = "UTF -8")
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 24 / 36
Otros m´etodos para la carga de datos
Para consultar la estructura que se ha cargado:
# consultar la estructura que se ha cargado
attributes(data.json)
data.json$categories
length(data.json$data)
head(data.json$data)
data.json$data [[1]]
data.json$data [[1]]$dimCodes [1]
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 25 / 36
Otros m´etodos para la carga de datos
Si tenemos problemas en la carga de datos desde el servicio web, lo podemos hacer de otra forma:
data.url <- "http://dl. dropboxusercontent .com/u/17677514/
datos_poblacion_municipios.json"
data.json <- paste(readLines(data.url , encoding = "UTF -8")[1] , collapse = "")
## Warning : incomplete final line found on
## ’http://dl. dropboxusercontent .com/u/ 17677514 /
## datos_ poblacion _ municipios .json ’
data.json <- fromJSON(data.json , encoding = "UTF -8")
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 26 / 36
El arreglo de los datos cargados en formato JSON
# pasamos los datos a una estructura temporal manejable
tmp.json <- do.call(rbind , data.json$data)
tmp.json.valores <- unlist(tmp.json[, 1])
tmp.json.cod <- tmp.json[, 2]
# creamos un data.frame para trabajar los datos
data.from.json <- data.frame(matrix(ncol = 4, nrow = 4992))
names(data.from.json) <- c(" CodMunicipio ", "CodAnio", " CodIndicador ", "Valor")
for (i in 1:4992) {
data.from.json$ CodMunicipio [i] <- tmp.json.cod [[i]][1]
data.from.json$CodAnio[i] <- tmp.json.cod [[i]][2]
data.from.json$ CodIndicador [i] <- tmp.json.cod [[i]][3]
data.from.json$Valor[i] <- as.numeric(tmp.json.valores [[i]])
}
rm(tmp.json , tmp.json.valores , tmp.json.cod)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 27 / 36
El arreglo de los datos cargados en formato JSON
# asociamos los c´odigos a sus valores descriptivos
idx <- match(data.from.json$CodMunicipio , data.json$categories [[1]]$codes)
data.from.json$Municipio <- data.json$categories [[1]]$labels[idx]
idx <- match(data.from.json$CodAnio , data.json$categories [[2]]$codes)
data.from.json$Anio <- data.json$categories [[2]]$labels[idx]
idx <- match(data.from.json$CodIndicador , data.json$categories [[3]]$codes)
data.from.json$Indicador <- data.json$categories [[3]]$labels[idx]
# reordenamos convenientemente las variables
data.pob.municipios <- data.from.json[, c(1, 5, 2, 6, 3, 7, 4)]
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 28 / 36
Otros m´etodos para la carga de datos
Para cargar datos en formato PC-AXIS:
library(pxR)
data.url <- "http://www. gobiernodecanarias .org/istac/jaxi -istac/
descarga.do?uripx=urn:uuid:d73bd9de -e6ed -4821 -808a -616 b34df9655"
data.px <- read.px(data.url)
head(data.px)
data.px$VALUES
data.px$CODES
data.from.px <- as.data.frame(data.px)
names(data.from.px) <- c("Indicadores", "A~nos", "Municipios", "Valor")
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 29 / 36
Funciones gr´aficas en R
plot(data.geo.municipios$Superficie , data.geo.municipios$Per´ımetro.municipal)
plot(Superficie ~ Per´ımetro.municipal , data = data.geo.municipios)
plot(Superficie ~ 1, data = data.geo.municipios , type = "h")
plot(Superficie ~ 1, data = data.geo.municipios , type = "s")
plot(Superficie ~ Per´ımetro.municipal , data = data.geo.municipios ,
xlab = "Per´ımetro del municipio (km)",
ylab = "Superficie (km. cuadrados)",
main = "Comparaci´on del per´ımetro y la superficie de los municipios")
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 30 / 36
El comando par()
# plot (1:25 ,1:25 , pch =1:25)
par.plot <- par(pch = 20, col = "blue", mfrow = c(2, 1))
plot(Superficie ~ Per´ımetro.municipal , data = data.geo.municipios)
plot(Superficie ~ Altitud , data = data.geo.municipios)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 31 / 36
Coloreado por grupos
data.geo.municipios$Provincia <- as.factor(data.geo.municipios$Provincia)
plot.colors <- c("green", "orange")
plot(Superficie ~ Per´ımetro.municipal ,
data = data.geo.municipios ,
col = plot.colors[data.geo.municipios$Provincia],
pch = 20)
legend("topleft", legend = levels(data.geo.municipios$Provincia),
col = c("green", "orange"),
pch = rep (20, 2))
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 32 / 36
Funciones gr´aficas avanzadas: paquete lattice()
Podemos conseguir un cierto grado de personalizaci´on en los gr´aficos en R. Los gr´aficos de panel
(trellis graphics) permiten representar visualizaciones por grupos:
library(lattice)
histogram(~Superficie | Provincia , data = data.geo.municipios)
densityplot(~Superficie | Provincia , data = data.geo.municipios)
bwplot(Superficie ~ Provincia , data = data.geo.municipios)
xyplot(Superficie ~ Per´ımetro.municipal | Provincia ,
data = data.geo.municipios)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 33 / 36
Programaci´on de funciones en R
Es posible programar funciones personalizadas en R:
myfunction <- function(x) {
resumen <- summary(x)
return(resumen)
}
myfunction(data.pob.municipios)
El EUSTAT tiene algunos ejemplos de programaciones sencillas con R:
http://www.eustat.es/documentos/datos/
CT Visualizacion de datos en las Estadisticas Oficiales c.pdf
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 34 / 36
Programaci´on de funciones en R
Veamos otro ejemplo de funci´on:
mystats <- function(x) {
myinput <- x
mymean <- mean(x, na.rm = TRUE)
mysd <- sd(x, na.rm = TRUE)
return(list(data = myinput , media = mymean , desv.tipica = mysd ))
}
mystats(data.pob.municipios[data.pob.municipios$ CodMunicipio %in %
c(38013 , 38048 , 38901) &
data.pob.municipios$Indicador == "Cifras absolutas" &
data.pob.municipios$Anio == "2012", "Valor"])
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 35 / 36
Programaci´on de funciones en R
Otro ejemplo de funci´on:
myfactorial <- function(n) {
myresult <- 1
if (n >= 0)
for (i in 1:n) myresult <- myresult * i
else
stop("S´olo funciona para valores positivos")
end
return(myresult)
}
myfactorial (5)
Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 36 / 36

Weitere ähnliche Inhalte

Was ist angesagt? (20)

R Services con SQL Server
R Services con SQL ServerR Services con SQL Server
R Services con SQL Server
 
Transparencias3
Transparencias3Transparencias3
Transparencias3
 
Parte2
Parte2Parte2
Parte2
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
 
Paralela2
Paralela2Paralela2
Paralela2
 
Operaciones Con Funciones
Operaciones Con FuncionesOperaciones Con Funciones
Operaciones Con Funciones
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Separata java script
Separata java scriptSeparata java script
Separata java script
 
[Sesion03] introduccion python
[Sesion03] introduccion python[Sesion03] introduccion python
[Sesion03] introduccion python
 
Arreglos
ArreglosArreglos
Arreglos
 
Cloud computinglabra
Cloud computinglabraCloud computinglabra
Cloud computinglabra
 
Paralela6
Paralela6Paralela6
Paralela6
 
Paralela5
Paralela5Paralela5
Paralela5
 
Mars
MarsMars
Mars
 
Lugar geometrico
Lugar geometricoLugar geometrico
Lugar geometrico
 
Paralela3
Paralela3Paralela3
Paralela3
 
Resolucion de un circuito lrc
Resolucion de un circuito lrcResolucion de un circuito lrc
Resolucion de un circuito lrc
 
Examanesplf
ExamanesplfExamanesplf
Examanesplf
 
Javascript
JavascriptJavascript
Javascript
 
eduardo hernandez investigacion 1
eduardo hernandez investigacion 1eduardo hernandez investigacion 1
eduardo hernandez investigacion 1
 

Andere mochten auch

notification HAL technicians 2015
notification HAL technicians 2015notification HAL technicians 2015
notification HAL technicians 2015Raja Kashyap
 
Monitoring photovoltaique GANTNER INSTRUMENTS FRANCE
Monitoring photovoltaique GANTNER INSTRUMENTS FRANCEMonitoring photovoltaique GANTNER INSTRUMENTS FRANCE
Monitoring photovoltaique GANTNER INSTRUMENTS FRANCEEUROPAGES
 
IBO Business School whitepaper 'Doorgroeien na je 40ste, het kan!'
IBO Business School whitepaper 'Doorgroeien na je 40ste, het kan!'IBO Business School whitepaper 'Doorgroeien na je 40ste, het kan!'
IBO Business School whitepaper 'Doorgroeien na je 40ste, het kan!'IBO_Business_School
 
Calidad de vida saludable (y responsable).
Calidad de vida saludable (y responsable).Calidad de vida saludable (y responsable).
Calidad de vida saludable (y responsable).José María
 
Aniversariantedezembro guilherme-hellen tarde
Aniversariantedezembro guilherme-hellen tardeAniversariantedezembro guilherme-hellen tarde
Aniversariantedezembro guilherme-hellen tardereporteresboasaude
 
Overcoming geny perspective
Overcoming geny perspectiveOvercoming geny perspective
Overcoming geny perspectiveEmanuele Rapetti
 
First E-magazine of FBIL , NB.!!
First E-magazine of FBIL , NB.!!First E-magazine of FBIL , NB.!!
First E-magazine of FBIL , NB.!!nagpur_brahmins
 
NOTA DE PRENSA: EL 70% DEL FRAUDE AL SEGURO DEL MÓVIL CORRESPONDE A DENUNCIAS...
NOTA DE PRENSA: EL 70% DEL FRAUDE AL SEGURO DEL MÓVIL CORRESPONDE A DENUNCIAS...NOTA DE PRENSA: EL 70% DEL FRAUDE AL SEGURO DEL MÓVIL CORRESPONDE A DENUNCIAS...
NOTA DE PRENSA: EL 70% DEL FRAUDE AL SEGURO DEL MÓVIL CORRESPONDE A DENUNCIAS...CPP España
 
(Iii) de las bastardas conductas de las taifas políticas y financieras que ...
(Iii)   de las bastardas conductas de las taifas políticas y financieras que ...(Iii)   de las bastardas conductas de las taifas políticas y financieras que ...
(Iii) de las bastardas conductas de las taifas políticas y financieras que ...Miguel Cabral Martín
 
The Science of Games at IST
The Science of Games at ISTThe Science of Games at IST
The Science of Games at ISTRui Prada
 
The Future of IT La Justificación Económica de la IT
The Future of IT La Justificación Económica de la ITThe Future of IT La Justificación Económica de la IT
The Future of IT La Justificación Económica de la ITelcontact.com
 
Manual del autoradio jvc
Manual del autoradio jvcManual del autoradio jvc
Manual del autoradio jvcJeferson Gomez
 
Cool Logistics Global 2015 programme
Cool Logistics Global 2015 programmeCool Logistics Global 2015 programme
Cool Logistics Global 2015 programmeAlexander von Stempel
 
Desigualdad de la mujer beatriz moreno 1 º bach c
Desigualdad de la mujer beatriz moreno 1 º bach cDesigualdad de la mujer beatriz moreno 1 º bach c
Desigualdad de la mujer beatriz moreno 1 º bach cgmartineznieto
 
Scalable Content Strategy: Nice Thought or Viable Vision? with Colleen Jones
Scalable Content Strategy: Nice Thought or Viable Vision? with Colleen JonesScalable Content Strategy: Nice Thought or Viable Vision? with Colleen Jones
Scalable Content Strategy: Nice Thought or Viable Vision? with Colleen JonesScott Abel
 
Libros presentados en lambayeque 2011...... word
Libros presentados en lambayeque 2011...... wordLibros presentados en lambayeque 2011...... word
Libros presentados en lambayeque 2011...... wordLiteratura y Tradición
 

Andere mochten auch (20)

notification HAL technicians 2015
notification HAL technicians 2015notification HAL technicians 2015
notification HAL technicians 2015
 
Monitoring photovoltaique GANTNER INSTRUMENTS FRANCE
Monitoring photovoltaique GANTNER INSTRUMENTS FRANCEMonitoring photovoltaique GANTNER INSTRUMENTS FRANCE
Monitoring photovoltaique GANTNER INSTRUMENTS FRANCE
 
Experto en Internalización Empresarial
Experto en Internalización EmpresarialExperto en Internalización Empresarial
Experto en Internalización Empresarial
 
IBO Business School whitepaper 'Doorgroeien na je 40ste, het kan!'
IBO Business School whitepaper 'Doorgroeien na je 40ste, het kan!'IBO Business School whitepaper 'Doorgroeien na je 40ste, het kan!'
IBO Business School whitepaper 'Doorgroeien na je 40ste, het kan!'
 
Calidad de vida saludable (y responsable).
Calidad de vida saludable (y responsable).Calidad de vida saludable (y responsable).
Calidad de vida saludable (y responsable).
 
Aniversariantedezembro guilherme-hellen tarde
Aniversariantedezembro guilherme-hellen tardeAniversariantedezembro guilherme-hellen tarde
Aniversariantedezembro guilherme-hellen tarde
 
Overcoming geny perspective
Overcoming geny perspectiveOvercoming geny perspective
Overcoming geny perspective
 
First E-magazine of FBIL , NB.!!
First E-magazine of FBIL , NB.!!First E-magazine of FBIL , NB.!!
First E-magazine of FBIL , NB.!!
 
Tecnica n°084 desecha el apego al cuerpo
Tecnica n°084 desecha el apego al cuerpoTecnica n°084 desecha el apego al cuerpo
Tecnica n°084 desecha el apego al cuerpo
 
NOTA DE PRENSA: EL 70% DEL FRAUDE AL SEGURO DEL MÓVIL CORRESPONDE A DENUNCIAS...
NOTA DE PRENSA: EL 70% DEL FRAUDE AL SEGURO DEL MÓVIL CORRESPONDE A DENUNCIAS...NOTA DE PRENSA: EL 70% DEL FRAUDE AL SEGURO DEL MÓVIL CORRESPONDE A DENUNCIAS...
NOTA DE PRENSA: EL 70% DEL FRAUDE AL SEGURO DEL MÓVIL CORRESPONDE A DENUNCIAS...
 
(Iii) de las bastardas conductas de las taifas políticas y financieras que ...
(Iii)   de las bastardas conductas de las taifas políticas y financieras que ...(Iii)   de las bastardas conductas de las taifas políticas y financieras que ...
(Iii) de las bastardas conductas de las taifas políticas y financieras que ...
 
Llati Saturnalia.
Llati Saturnalia. Llati Saturnalia.
Llati Saturnalia.
 
The Science of Games at IST
The Science of Games at ISTThe Science of Games at IST
The Science of Games at IST
 
The Future of IT La Justificación Económica de la IT
The Future of IT La Justificación Económica de la ITThe Future of IT La Justificación Económica de la IT
The Future of IT La Justificación Económica de la IT
 
Manual del autoradio jvc
Manual del autoradio jvcManual del autoradio jvc
Manual del autoradio jvc
 
Cool Logistics Global 2015 programme
Cool Logistics Global 2015 programmeCool Logistics Global 2015 programme
Cool Logistics Global 2015 programme
 
Desigualdad de la mujer beatriz moreno 1 º bach c
Desigualdad de la mujer beatriz moreno 1 º bach cDesigualdad de la mujer beatriz moreno 1 º bach c
Desigualdad de la mujer beatriz moreno 1 º bach c
 
Scalable Content Strategy: Nice Thought or Viable Vision? with Colleen Jones
Scalable Content Strategy: Nice Thought or Viable Vision? with Colleen JonesScalable Content Strategy: Nice Thought or Viable Vision? with Colleen Jones
Scalable Content Strategy: Nice Thought or Viable Vision? with Colleen Jones
 
Libros presentados en lambayeque 2011...... word
Libros presentados en lambayeque 2011...... wordLibros presentados en lambayeque 2011...... word
Libros presentados en lambayeque 2011...... word
 
RETAIL TRENDSWATCH
RETAIL TRENDSWATCHRETAIL TRENDSWATCH
RETAIL TRENDSWATCH
 

Ähnlich wie (1) Curso sobre el software estadístico R. Introducción al entorno R

Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)Nerys Ramírez Mordán
 
LENGUAJE DE PROGRAMACION R
LENGUAJE DE PROGRAMACION RLENGUAJE DE PROGRAMACION R
LENGUAJE DE PROGRAMACION RShirley Armas
 
Curso r.diaz-uriarte
Curso r.diaz-uriarteCurso r.diaz-uriarte
Curso r.diaz-uriarteESPE
 
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y RGestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y RFrancisco Palm
 
Entorno y lenguaje de programación R
Entorno  y lenguaje de programación REntorno  y lenguaje de programación R
Entorno y lenguaje de programación Rtravon1
 
Programacion web introduccion 11 3
Programacion web introduccion 11 3Programacion web introduccion 11 3
Programacion web introduccion 11 3Garcia-12
 
Programacion web introduccion 11 3
Programacion web introduccion 11 3Programacion web introduccion 11 3
Programacion web introduccion 11 3Garcia-12
 
Programacion web introduccion 11 3
Programacion web introduccion 11 3Programacion web introduccion 11 3
Programacion web introduccion 11 3Garcia-12
 
R manual
R manualR manual
R manualfre1305
 
Algoritmos2 130608173848-phpapp01
Algoritmos2 130608173848-phpapp01Algoritmos2 130608173848-phpapp01
Algoritmos2 130608173848-phpapp01DiegoDeluque95
 
AdV - Programación para no Programadores
AdV - Programación para no ProgramadoresAdV - Programación para no Programadores
AdV - Programación para no ProgramadoresJavier_J
 

Ähnlich wie (1) Curso sobre el software estadístico R. Introducción al entorno R (20)

Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
 
Clase 6 Introducción a R.pptx
Clase 6 Introducción a R.pptxClase 6 Introducción a R.pptx
Clase 6 Introducción a R.pptx
 
Estadística con Lenguaje R: Sesión 1
Estadística con Lenguaje R: Sesión 1Estadística con Lenguaje R: Sesión 1
Estadística con Lenguaje R: Sesión 1
 
LENGUAJE DE PROGRAMACION R
LENGUAJE DE PROGRAMACION RLENGUAJE DE PROGRAMACION R
LENGUAJE DE PROGRAMACION R
 
Minimanual r espoch
Minimanual r espochMinimanual r espoch
Minimanual r espoch
 
Articulo en r
Articulo en rArticulo en r
Articulo en r
 
Curso r.diaz-uriarte
Curso r.diaz-uriarteCurso r.diaz-uriarte
Curso r.diaz-uriarte
 
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y RGestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
 
Entorno y lenguaje de programación R
Entorno  y lenguaje de programación REntorno  y lenguaje de programación R
Entorno y lenguaje de programación R
 
Programacion web introduccion 11 3
Programacion web introduccion 11 3Programacion web introduccion 11 3
Programacion web introduccion 11 3
 
Programacion web introduccion 11 3
Programacion web introduccion 11 3Programacion web introduccion 11 3
Programacion web introduccion 11 3
 
Programacion web introduccion 11 3
Programacion web introduccion 11 3Programacion web introduccion 11 3
Programacion web introduccion 11 3
 
Diapositivas r
Diapositivas rDiapositivas r
Diapositivas r
 
Introducción al R Commander
Introducción al R CommanderIntroducción al R Commander
Introducción al R Commander
 
Tp1 2006
Tp1 2006Tp1 2006
Tp1 2006
 
R manual
R manualR manual
R manual
 
Introducción a dr racket
Introducción a dr racketIntroducción a dr racket
Introducción a dr racket
 
Algoritmos2 130608173848-phpapp01
Algoritmos2 130608173848-phpapp01Algoritmos2 130608173848-phpapp01
Algoritmos2 130608173848-phpapp01
 
Programacion
 Programacion  Programacion
Programacion
 
AdV - Programación para no Programadores
AdV - Programación para no ProgramadoresAdV - Programación para no Programadores
AdV - Programación para no Programadores
 

Mehr von Instituto Canario de Estadística (ISTAC)

[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividadInstituto Canario de Estadística (ISTAC)
 
Análisis regional e insular de las predicciones de entradas de pasajeros en C...
Análisis regional e insular de las predicciones de entradas de pasajeros en C...Análisis regional e insular de las predicciones de entradas de pasajeros en C...
Análisis regional e insular de las predicciones de entradas de pasajeros en C...Instituto Canario de Estadística (ISTAC)
 
La estadística pública en la evaluación de políticas publicas. 2ª parte
La estadística pública en la evaluación de políticas publicas. 2ª parteLa estadística pública en la evaluación de políticas publicas. 2ª parte
La estadística pública en la evaluación de políticas publicas. 2ª parteInstituto Canario de Estadística (ISTAC)
 
La estadística pública en la evaluación de políticas: Introducción a la esta...
La estadística pública en la evaluación  de políticas: Introducción a la esta...La estadística pública en la evaluación  de políticas: Introducción a la esta...
La estadística pública en la evaluación de políticas: Introducción a la esta...Instituto Canario de Estadística (ISTAC)
 
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...Instituto Canario de Estadística (ISTAC)
 
Casos de uso de fuentes big data en las estadísticas económicas de Canarias
Casos de uso de fuentes big data en las estadísticas económicas de CanariasCasos de uso de fuentes big data en las estadísticas económicas de Canarias
Casos de uso de fuentes big data en las estadísticas económicas de CanariasInstituto Canario de Estadística (ISTAC)
 
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS . A strateg...
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS. A strateg...REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS. A strateg...
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS . A strateg...Instituto Canario de Estadística (ISTAC)
 
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégicaSISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégicaInstituto Canario de Estadística (ISTAC)
 

Mehr von Instituto Canario de Estadística (ISTAC) (20)

Sistema de Datos Integrados (iDatos) - capacidades analíticas
Sistema de Datos Integrados (iDatos) - capacidades analíticasSistema de Datos Integrados (iDatos) - capacidades analíticas
Sistema de Datos Integrados (iDatos) - capacidades analíticas
 
Turismo Canarias 2018. Islas
Turismo Canarias 2018. IslasTurismo Canarias 2018. Islas
Turismo Canarias 2018. Islas
 
Crecimiento vegetativo
Crecimiento vegetativoCrecimiento vegetativo
Crecimiento vegetativo
 
Indicadores para politicas publicas
Indicadores para politicas publicasIndicadores para politicas publicas
Indicadores para politicas publicas
 
Presentacion chatbot istac
Presentacion chatbot istacPresentacion chatbot istac
Presentacion chatbot istac
 
[Jecas2018] entorno de computo estadistico en e datos
[Jecas2018] entorno de computo estadistico en e datos[Jecas2018] entorno de computo estadistico en e datos
[Jecas2018] entorno de computo estadistico en e datos
 
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
[Jecas2018] estadisticas suburbanas de poblacion y su relacion con la actividad
 
[Jecas2018] marco de desarrollo del sistema de datos integrados de canarias
[Jecas2018] marco de desarrollo del sistema de datos integrados de canarias[Jecas2018] marco de desarrollo del sistema de datos integrados de canarias
[Jecas2018] marco de desarrollo del sistema de datos integrados de canarias
 
[Jecas2018] marco de estadistica espacial de canarias
[Jecas2018] marco de estadistica espacial de canarias[Jecas2018] marco de estadistica espacial de canarias
[Jecas2018] marco de estadistica espacial de canarias
 
Matrimonios. 2015
Matrimonios. 2015Matrimonios. 2015
Matrimonios. 2015
 
Nombres más comunes entre recién nacidos. 2016
Nombres más comunes entre recién nacidos. 2016Nombres más comunes entre recién nacidos. 2016
Nombres más comunes entre recién nacidos. 2016
 
201807 gobcan jordanas datos abiertos
201807  gobcan   jordanas datos abiertos 201807  gobcan   jordanas datos abiertos
201807 gobcan jordanas datos abiertos
 
Análisis regional e insular de las predicciones de entradas de pasajeros en C...
Análisis regional e insular de las predicciones de entradas de pasajeros en C...Análisis regional e insular de las predicciones de entradas de pasajeros en C...
Análisis regional e insular de las predicciones de entradas de pasajeros en C...
 
La estadística pública en la evaluación de políticas publicas. 2ª parte
La estadística pública en la evaluación de políticas publicas. 2ª parteLa estadística pública en la evaluación de políticas publicas. 2ª parte
La estadística pública en la evaluación de políticas publicas. 2ª parte
 
La estadística pública en la evaluación de políticas: Introducción a la esta...
La estadística pública en la evaluación  de políticas: Introducción a la esta...La estadística pública en la evaluación  de políticas: Introducción a la esta...
La estadística pública en la evaluación de políticas: Introducción a la esta...
 
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
Apuntes metodológicos de la Encuesta de Seguimiento de la Marca Turística de ...
 
Casos de uso de fuentes big data en las estadísticas económicas de Canarias
Casos de uso de fuentes big data en las estadísticas económicas de CanariasCasos de uso de fuentes big data en las estadísticas económicas de Canarias
Casos de uso de fuentes big data en las estadísticas económicas de Canarias
 
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS . A strateg...
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS. A strateg...REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS. A strateg...
REGIONAL TOURISM INFORMATION SYSTEM (R-TIS) OF THE CANARY ISLANDS . A strateg...
 
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégicaSISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
SISTEMA REGIONAL DE ESTADÍSTICAS DE TURISMO. Una aproximación estratégica
 
Entidades y núcleos turísticos. estadísticas asociadas
Entidades y núcleos turísticos. estadísticas asociadasEntidades y núcleos turísticos. estadísticas asociadas
Entidades y núcleos turísticos. estadísticas asociadas
 

(1) Curso sobre el software estadístico R. Introducción al entorno R

  • 1. Curso sobre el software estad´ıstico R: Introducci´on al entorno de R Ponente: Carlos P´erez Glez. Entidades participantes en el curso: Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 1 / 36
  • 2. Introducci´on al entorno de R R es un lenguaje de alto nivel y un entorno para la manipulaci´on de datos, c´alculo y gr´aficos. 1 Almacenamiento y manipulaci´on efectiva de datos 2 Operadores para c´alculo sobre variables indexadas y matrices 3 Amplia, coherente e integrada colecci´on de herramientas para an´alisis de datos 4 Grandes posibilidades gr´aficas 5 Lenguaje de programaci´on orientado a objetos bien desarrollado, simple y efectivo 6 Lenguaje interpretado, no compilado. Posibilidad de usar scripts 7 Es de c´odigo abierto: se distribuye bajo la GPL (General Public License), que no impone ninguna restricci´on al uso de R (tanto acad´emico como comercial). Website: http://www.r-project.org/ Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 2 / 36
  • 3. ¿Por qu´e R? Para alumnos: 1 Dispone de las herramientas cl´asicas de la estadistica 2 Es multiplataforma y gratis 3 Ofertas de trabajo Para investigadores: 1 Desarrollos estad´ısticos avanzados 2 Proliferaci´on de c´odigo R en muchos trabajos cient´ıficos Para universidades: 1 Ahorro de licencias campus de software propietario (SPSS) 2 Implica menos problemas de soporte t´ecnico Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 3 / 36
  • 4. Ventajas de R 1 Posibilidad de combinar an´alisis “empaquetados” en librer´ıas con desarrollos propios “ad-hoc” 2 Gr´aficos de alta calidad exportables a distintos formatos 3 Consume pocos recursos inform´aticos 4 Puede ejecutarse remotamente y conectarse con otros programa (llamar a librer´ıas de R desde PROC IML) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 4 / 36
  • 5. Desventajas de R 1 Interfaz gr´afica limitada (aunque se dispone de varios GUI que suplen esta deficiencia desde el punto de vista docente) 2 No hay soporte comercial 3 El lenguaje de comandos es un lenguaje de programaci´on Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 5 / 36
  • 6. Estructura de un sistema R R consta de un sistema base (instalaci´on primaria) pero se pueden extender las funcionalidades mediante librer´ıas o paquetes (se instalan bajo demanda). Algunos de estos paquetes son: mva: Classical multivariate analysis maptools: Herramientas para el manejo de objetos geoespaciales googleVis: Librer´ıa que sirve de interfaz entre R y Google chart tools . . . . Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 6 / 36
  • 7. Sesi´on de R Se puede iniciar una sesi´on de R en modo terminal (en sistemas Linux) o empleando un R GUI (en sistemas windows). La interfaz de R para windows proporciona un men´u muy b´asico para gestionar algunos aspectos de sesi´on de R: 1 El hist´orico de comandos (.Rhistory) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 7 / 36
  • 8. Sesi´on de R Se puede iniciar una sesi´on de R en modo terminal (en sistemas Linux) o empleando un R GUI (en sistemas windows). La interfaz de R para windows proporciona un men´u muy b´asico para gestionar algunos aspectos de sesi´on de R: 1 El hist´orico de comandos (.Rhistory) 2 El espacio de trabajo de la sesi´on (.RData) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 7 / 36
  • 9. Sesi´on de R Se puede iniciar una sesi´on de R en modo terminal (en sistemas Linux) o empleando un R GUI (en sistemas windows). La interfaz de R para windows proporciona un men´u muy b´asico para gestionar algunos aspectos de sesi´on de R: 1 El hist´orico de comandos (.Rhistory) 2 El espacio de trabajo de la sesi´on (.RData) 3 La instalaci´on de librer´ıas desde un repositorio CRAN Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 7 / 36
  • 10. Uso b´asico de R Desde R se pueden realizar sencillas operaciones aritm´eticas (4 - 3) * 2/3 sqrt (9) sin(pi/2) factorial (3) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 8 / 36
  • 11. Uso b´asico de R R ejecuta ciertas operaciones que, en otros programas, podr´ıan generar mensajes de error 1/0 0/0 log (-1) sqrt (-9) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 9 / 36
  • 12. Almacenar resultados en variables. El espacio de trabajo El operador de asignaci´on (<-) permite almacenar valores: a <- log (10) a <- log (10) a = log (10) #¿cual usar: = o <-? a <- rnorm (4, mean = 10, sd = 1) # en R se utiliza = para asignar valores a los argumentos de las funciones Al introducir los comandos anteriores, hemos creado un objeto en R: la variable “a”. Este objeto se almacena en una zona de memoria llamada “espacio de trabajo”. ls() Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 10 / 36
  • 13. La ayuda en R Para invocar la ayuda en R, podemos hacerlo de la forma siguiente help(rnorm) ?rnorm help.search("pc -axis") help.start () Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 11 / 36
  • 14. Vectores en R Crear secuencias de vectores x <- c(1, 2, 3, 4, 5) y <- c(1:5) ?seq # los argumentos con = significa que hay que escribir el nombre los # argumentos sin = significa que hay que ponerlos en el mismo orden z <- seq(1, 10, by = 2) w <- rep (1:5 , times = 2) w <- rep (1:5 , each = 3) Operaciones con vectores 2 * x x + z x * z # se pueden sumar vectores de distinta longitud pero se produce un efecto # c´ı clico x + w Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 12 / 36
  • 15. Vectores como argumentos de funciones en R Algunas funciones se eval´uan sobre un vector y devuelven otro vector de la misma longitud. Otras, en cambio, devuelven un escalar log(x) sum(x) range(x) length(x) Incluso al evaluar una condici´on sobre un vector se obtiene un vector x < 3 x < 3 | z > 5 x < 3 & z < 5 Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 13 / 36
  • 16. Elementos de un vector Para seleccionar elementos de un vector se utiliza la notaci´on de []: x <- c(1, 2, 3, 4, 5) x[3] # elementos de un vector x[c(1:2)] # partes de un vector x[1:2] # partes de un vector x[-1] # quitar partes de un vector # ¿C´omo seleccionar los elementos de x menores que 2? se pueden modificar los vectores haciendo uso del operador asignaci´on: x[1:2] <- c(12, 13) x[1:2] <- 0 x[15] <- 0 Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 14 / 36
  • 17. Tipo de los elementos de un vector Los vectores en R son objetos con todos sus elementos del mismo tipo x <- c(1, 2, 3, 4, 5) class(x) x <- c(1, 2, "hola") class(x) Se pueden asignar nombres a cada componente de un vector x <- c(1, 2, 3, 4, 5) names(x) <- c("primero", "segundo", "tercero", "cuarto", "quinto") attributes(x) x[2] # accede al elemento 2ndo. x["segundo"] x[segundo] Hay funciones que podemos utilizar para verificar si un objeto es o no un vector is.vector(x) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 15 / 36
  • 18. Factores en R Los factores son vectores que alamcenan datos categ´oricos (variable con varios niveles) x <- c("Juan", "Paco", "Mar´ıa", "Arturo") s <- c("hombre", "hombre", "mujer", "hombre") s <- factor(s) attributes(s) is.factor(s) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 16 / 36
  • 19. Matrices en R Las matrices se crean en R utilizando matrix() (bidimensionales) o array() (m´as de 2 dimensiones) m <- matrix (1:6 , nrow = 3, ncol = 2) m[1, ] m[, 2] attributes(m) dimnames(m) <- list(c("A", "B", "C"), c("1", "2")) attributes(m) is.matrix(m) m["A", ] m[, "2"] Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 17 / 36
  • 20. Listas en R Las listas en R son colecciones ordenadas de objetos l <- list(padres = c("Juan", "Mar´ıa"), num.hijos = 2, edad.hijos = c(3, 7)) # observar que se emplea = para asignar los nombres a los objetos y no el # operador <- attributes(l) names(l) is.list(l) l[[1]] # accede al objeto 1ro. l[["padres"]] # accede al objeto ’padres ’ l$padres # accede al objeto ’padres ’ l$padres <- c("Juan P´erez", "Mar´ıa Gonz´alez") l$padres [2] Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 18 / 36
  • 21. Hojas de datos en R Las hojas de datos en R son matrices de datos formadas por elementos (columnas) de igual longitud (filas). En general, cada columna representa una variable y cada fila una observaci´on. id <- c(1:6) sexo <- rep(c("HOMBRE", "MUJER"), each = 3) edad <- sample (20:60 , size = 6, replace = TRUE) d <- data.frame(id = id , sexo = sexo , edad = edad) attributes(d) names(d) d[[2]] d[["sexo"]] d$sexo class(d$sexo) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 19 / 36
  • 22. Paquetes en R 1 La gran potencia que proporciona R reside en la gran cantidad de paquetes desarrollados y que se encuentran en repositorios CRAN. library () # listar todos los paquetes disponibles en R install.packages("RJSONIO") install.packages("ggplot", dependencies = TRUE) library(RJSONIO) # cargar el paquete Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 20 / 36
  • 23. Paquetes en R 1 La gran potencia que proporciona R reside en la gran cantidad de paquetes desarrollados y que se encuentran en repositorios CRAN. 2 En la instalaci´on base de R se instalan s´olo algunos de ellos. library () # listar todos los paquetes disponibles en R install.packages("RJSONIO") install.packages("ggplot", dependencies = TRUE) library(RJSONIO) # cargar el paquete Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 20 / 36
  • 24. Paquetes en R 1 La gran potencia que proporciona R reside en la gran cantidad de paquetes desarrollados y que se encuentran en repositorios CRAN. 2 En la instalaci´on base de R se instalan s´olo algunos de ellos. 3 A medida que se necesitan nuevas funcionalidades, se pueden instalar f´acilmente library () # listar todos los paquetes disponibles en R install.packages("RJSONIO") install.packages("ggplot", dependencies = TRUE) library(RJSONIO) # cargar el paquete Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 20 / 36
  • 25. El directorio de trabajo. La carga de datos Cuando se inicia R, el programa configura por defecto un directorio desde donde se leen o donde se guardan ficheros. Los comandos getwd() y setwd() permiten consultar y cambiar el directorio de trabajo. getwd () setwd("C: RLibraries") Si queremos cargar un conjunto de datos desde un archivo situado en el directorio de trabajo, lo podemos hacer mediante el comando read.table() # cargar los datos utilizando read.table (en local) setwd("C: RLibraries") data.espacios.nat <- read.table(file = "superficie_espacios_naturales.txt", header = T, sep = ";") data.geo.municipios <- read.table(file = "datos_geograficos_islas.txt", header = T, sep = ";") Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 21 / 36
  • 26. Otros m´etodos para la carga de datos Se puede utilizar read.table() para cargar datos desde un lugar remoto: # cargar los datos utilizando la funci´on url () (en remoto , por http://) data.url <- "http://dl.dropbox.com/u/17677514/datos_geograficos _islas.txt" data.geo.municipios <- read.table(file = url(data.url), header = T, sep = ";") # cargar los datos utilizando la funci´on url () (en remoto , por https://) data.url <- "https://raw.github.com/cpgonzal/cursoR/gh -pages/data/datos_ geograficos _islas.txt" library(RCurl) data.geo.municipios <- read.table( textConnection (getURL(data.url , ssl.verifypeer = FALSE )), header = T, sep = ";") Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 22 / 36
  • 27. Otros m´etodos para la carga de datos Podemos completar los data.frames con m´as variables: # crear factores con etiquetas data.geo.municipios$Isla <- factor(data.geo.municipios$Isla , levels = c("El Hierro", "La Palma", "La Gomera", "Tenerife", "Gran Canaria", " Fuerteventura ", "Lanzarote")) data.geo.municipios$Provincia <- c(rep("Las Palmas", 34), rep("S/C. de Tenerife", 54)) Tambi´en podemos crear data.frames con informaci´on resumida: # resumir datos from data frames data.geo.islas <- aggregate(data.geo.municipios[, c(3, 5)], by = list(Provincia = data.geo.municipios$Provincia , Isla = data.geo.municipios$Isla), FUN = sum , na.rm = T) data.geo.islas$Altitud <- aggregate(data.geo.municipios[, 6], by = list(Provincia = data.geo.municipios$Provincia , Isla = data.geo.municipios$Isla), FUN = max , na.rm = T)[, 3] # estructura de los datos str(data.geo.islas) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 23 / 36
  • 28. Otros m´etodos para la carga de datos Para cargar datos en formato JSON: # read en JSON format library(RJSONIO) data.url <- "http://www. gobiernodecanarias .org/istac/jaxi -istac/ tabla.do?accion=jsonMtd& uuidConsulta =7 db99ff7 -4aab -4a57 -a378 - fc472aecaeb6 " data.json <- paste(readLines(data.url , encoding = "UTF -8")[1] , collapse = "") ## Warning : incomplete final line found on ## ’http://www. gobiernodecanarias .org/istac/jaxi -istac/ ## tabla.do? accion = jsonMtd & uuidConsulta =7 db99ff7 -4aab -4a57 -a378 - fc472aecaeb6 ’ data.json <- fromJSON(data.json , encoding = "UTF -8") Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 24 / 36
  • 29. Otros m´etodos para la carga de datos Para consultar la estructura que se ha cargado: # consultar la estructura que se ha cargado attributes(data.json) data.json$categories length(data.json$data) head(data.json$data) data.json$data [[1]] data.json$data [[1]]$dimCodes [1] Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 25 / 36
  • 30. Otros m´etodos para la carga de datos Si tenemos problemas en la carga de datos desde el servicio web, lo podemos hacer de otra forma: data.url <- "http://dl. dropboxusercontent .com/u/17677514/ datos_poblacion_municipios.json" data.json <- paste(readLines(data.url , encoding = "UTF -8")[1] , collapse = "") ## Warning : incomplete final line found on ## ’http://dl. dropboxusercontent .com/u/ 17677514 / ## datos_ poblacion _ municipios .json ’ data.json <- fromJSON(data.json , encoding = "UTF -8") Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 26 / 36
  • 31. El arreglo de los datos cargados en formato JSON # pasamos los datos a una estructura temporal manejable tmp.json <- do.call(rbind , data.json$data) tmp.json.valores <- unlist(tmp.json[, 1]) tmp.json.cod <- tmp.json[, 2] # creamos un data.frame para trabajar los datos data.from.json <- data.frame(matrix(ncol = 4, nrow = 4992)) names(data.from.json) <- c(" CodMunicipio ", "CodAnio", " CodIndicador ", "Valor") for (i in 1:4992) { data.from.json$ CodMunicipio [i] <- tmp.json.cod [[i]][1] data.from.json$CodAnio[i] <- tmp.json.cod [[i]][2] data.from.json$ CodIndicador [i] <- tmp.json.cod [[i]][3] data.from.json$Valor[i] <- as.numeric(tmp.json.valores [[i]]) } rm(tmp.json , tmp.json.valores , tmp.json.cod) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 27 / 36
  • 32. El arreglo de los datos cargados en formato JSON # asociamos los c´odigos a sus valores descriptivos idx <- match(data.from.json$CodMunicipio , data.json$categories [[1]]$codes) data.from.json$Municipio <- data.json$categories [[1]]$labels[idx] idx <- match(data.from.json$CodAnio , data.json$categories [[2]]$codes) data.from.json$Anio <- data.json$categories [[2]]$labels[idx] idx <- match(data.from.json$CodIndicador , data.json$categories [[3]]$codes) data.from.json$Indicador <- data.json$categories [[3]]$labels[idx] # reordenamos convenientemente las variables data.pob.municipios <- data.from.json[, c(1, 5, 2, 6, 3, 7, 4)] Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 28 / 36
  • 33. Otros m´etodos para la carga de datos Para cargar datos en formato PC-AXIS: library(pxR) data.url <- "http://www. gobiernodecanarias .org/istac/jaxi -istac/ descarga.do?uripx=urn:uuid:d73bd9de -e6ed -4821 -808a -616 b34df9655" data.px <- read.px(data.url) head(data.px) data.px$VALUES data.px$CODES data.from.px <- as.data.frame(data.px) names(data.from.px) <- c("Indicadores", "A~nos", "Municipios", "Valor") Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 29 / 36
  • 34. Funciones gr´aficas en R plot(data.geo.municipios$Superficie , data.geo.municipios$Per´ımetro.municipal) plot(Superficie ~ Per´ımetro.municipal , data = data.geo.municipios) plot(Superficie ~ 1, data = data.geo.municipios , type = "h") plot(Superficie ~ 1, data = data.geo.municipios , type = "s") plot(Superficie ~ Per´ımetro.municipal , data = data.geo.municipios , xlab = "Per´ımetro del municipio (km)", ylab = "Superficie (km. cuadrados)", main = "Comparaci´on del per´ımetro y la superficie de los municipios") Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 30 / 36
  • 35. El comando par() # plot (1:25 ,1:25 , pch =1:25) par.plot <- par(pch = 20, col = "blue", mfrow = c(2, 1)) plot(Superficie ~ Per´ımetro.municipal , data = data.geo.municipios) plot(Superficie ~ Altitud , data = data.geo.municipios) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 31 / 36
  • 36. Coloreado por grupos data.geo.municipios$Provincia <- as.factor(data.geo.municipios$Provincia) plot.colors <- c("green", "orange") plot(Superficie ~ Per´ımetro.municipal , data = data.geo.municipios , col = plot.colors[data.geo.municipios$Provincia], pch = 20) legend("topleft", legend = levels(data.geo.municipios$Provincia), col = c("green", "orange"), pch = rep (20, 2)) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 32 / 36
  • 37. Funciones gr´aficas avanzadas: paquete lattice() Podemos conseguir un cierto grado de personalizaci´on en los gr´aficos en R. Los gr´aficos de panel (trellis graphics) permiten representar visualizaciones por grupos: library(lattice) histogram(~Superficie | Provincia , data = data.geo.municipios) densityplot(~Superficie | Provincia , data = data.geo.municipios) bwplot(Superficie ~ Provincia , data = data.geo.municipios) xyplot(Superficie ~ Per´ımetro.municipal | Provincia , data = data.geo.municipios) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 33 / 36
  • 38. Programaci´on de funciones en R Es posible programar funciones personalizadas en R: myfunction <- function(x) { resumen <- summary(x) return(resumen) } myfunction(data.pob.municipios) El EUSTAT tiene algunos ejemplos de programaciones sencillas con R: http://www.eustat.es/documentos/datos/ CT Visualizacion de datos en las Estadisticas Oficiales c.pdf Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 34 / 36
  • 39. Programaci´on de funciones en R Veamos otro ejemplo de funci´on: mystats <- function(x) { myinput <- x mymean <- mean(x, na.rm = TRUE) mysd <- sd(x, na.rm = TRUE) return(list(data = myinput , media = mymean , desv.tipica = mysd )) } mystats(data.pob.municipios[data.pob.municipios$ CodMunicipio %in % c(38013 , 38048 , 38901) & data.pob.municipios$Indicador == "Cifras absolutas" & data.pob.municipios$Anio == "2012", "Valor"]) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 35 / 36
  • 40. Programaci´on de funciones en R Otro ejemplo de funci´on: myfactorial <- function(n) { myresult <- 1 if (n >= 0) for (i in 1:n) myresult <- myresult * i else stop("S´olo funciona para valores positivos") end return(myresult) } myfactorial (5) Carlos P´erez Glez. (Universidad de La Laguna) Introducci´on al entorno de R 36 / 36