ApuntesdeR

45
Objetos básicos y lectura de datos con R Dpt. de Estadística e Inv. Operativa Univ. de Santiago de Compostela Santiago de Compostela, 2013

description

Apuntes R de estadística usa curso 2015 2016

Transcript of ApuntesdeR

Page 1: ApuntesdeR

Objetos básicos y lectura de datos con R

Dpt. de Estadística e Inv. OperativaUniv. de Santiago de Compostela

Santiago de Compostela, 2013

Page 2: ApuntesdeR

Introducción

R es un proyecto de software libre que constituye el estándar enComputación Estadística (http://www.r-project.org)Es una evolución del lenguaje S (Bell Laboratories, 70’s) iniciada porRobert Gentleman and Ross Ihaka (90’s) y soportada por unaingente comunidad de desarrolladores sin ánimo de lucro (FreeSoftware Foundation)R proporciona la más amplia variedad de técnicas estadísticas ygráficas y es altamente configurable y extensible. Puede mezclarsecon otros entornos y/o lenguajes (Fortran, C, PHP, ...).R es un lenguaje vectorial y orientado a objetos.La lista de manuales puede encontrarse enhttp://cran.r-project.org/doc/manuals/.En su formato más básico dispone de una consola donde se tecleanlos comandos y se muestra la respuesta del sistema a esos comandos(lenguaje interpretado).

Objetos básicos y lectura de datos con R

Page 3: ApuntesdeR

Mi primera sesión

45 + 26/2

> [1] 58

sqrt(25) + sin(pi/4)

> [1] 5.707107

El trabajo de R se articula mediante funciones que se reconocen porquetienen argumentos entre paréntesis. En el ejemplo anterior se han usadolas funciones sqrt y sin. Para buscar información sobre una función,podemos usar:

help.search("Arithmetic Mean") # Busca información sobre la media aritmética.help(sqrt) # Buscar información sobre la función sqrtapropos("log") # Todas las funciones que contiene 'log'example(log) # Ejemplo de uso de la función log

Objetos básicos y lectura de datos con R

Page 4: ApuntesdeR

Lenguaje orientado a objectos

R es un lenguaje orientado a objetos (estructura que presentacaracterísticas y/o atributos y las funciones interactúan con ellos).Los objetos se crean mediante los operadores de asignación (<-, ->, =)y se establecen las propiedades en función de lo asignado.

x <- 27.5class(x)

> [1] "numeric"

x = "Pepe"class(x)

> [1] "character"

ls() # Hago una lista con los objetos que tengo

> [1] "hook_output" "x"

rm(x) # Borro objeto x

Objetos básicos y lectura de datos con R

Page 5: ApuntesdeR

Workspace

El Workspace es el lugar donde se almacenan los objetos que se vancreando (como una carpeta). Al salir de la sesión nos pide si queremosguardar el Workspace para tenerlo disponible la próxima vez que se iniciesesión. (Se almacena como un fichero .RData en tu directorio de trabajoque por defecto está oculto).

getwd() # Pregunto cual es mi directorio de trabajosetwd("Z:/") # Establezco mi directorio de trabajo en Z:/

De vez en cuando, es conveniente limpiar el workspace para que no nosqueden objetos no necesarios que sólo ocupan memoria.A la hora de desarrollar alguna técnica compleja es útil escribir lacolección de instrucciones necesarias en un script (fichero de textosimple). La colección de instrucciones de un script se puede copiar ypegar en la consola (Ctrl+C y Ctrl+V) o se pueden ejecutar directamentecon la función source("miscript.R") donde "miscript.R"debe sustituirsepor el nombre del fichero.

Objetos básicos y lectura de datos con R

Page 6: ApuntesdeR

Creación de objetos básicos

Los tipos de objetos básicos son los de cualquier lenguaje deprogramación: logical, numeric (integer, real, double), character.Desde el punto de vista estadístico nos interesa que estos formatosbásicos reflejen los tipos de variables aleatorias:

Variable cualitativa nominal == character

Variable cualitativa ordinal == integer

Variable cuantitativa discreta == integer, double

Variable cuantitativa continua == double

La manera de representar un conjunto de datos estadístico en R serámediante vectores, matrices y data.frame.

Vector: Una única variable aleatoriaMatriz: Varias variables aleatorias (por columna) del mismo tipo.data.frame: Matriz donde las columnas pueden ser de distinto tipoque las anteriores.

Objetos básicos y lectura de datos con R

Page 7: ApuntesdeR

Operaciones matemáticas

NA representa los valores perdidos (Not available)También están definidos los indeterminados NaN y los tiposespeciales Inf, -Inf

c(5/0, -5/0, 0/0, sqrt(-4))

> Warning in sqrt(-4): Se han producido NaNs

> [1] Inf -Inf NaN NaN

Funciones matemáticas básicas

Función Uso+,-,*,/, ˆp ,%%,%/% Operaciones aritméticas

sin,cos, tan, Funciones trigonométricaslog, log2, log10, exp Logaritmos

choose Números combinatoriosfactorial Factorial

ceiling, floor, round Redondeos

Objetos básicos y lectura de datos con R

Page 8: ApuntesdeR

Creación básica de vectores

Maneras de crear un vectorc : Valores del vector separados por comas.rep: Repetir un valor un número determinado de veces.seq: Como una secuencia entre un valor inicial y otro final. 1:4 es unatajo para seq(1,4,by=1)Cualquier combinación de los anteriores

Ejemplo

x <- c(2, 5, 8, 9)y = rep(1, 4)xy = c(x, y)z = rep(x, c(1, 2, 3, 4))lx = seq(0, 1, length = 21)

Objetos básicos y lectura de datos con R

Page 9: ApuntesdeR

Funciones simples que operan sobre vectores

Función Usosum(x) Suma los valores de x

cumsum(x) Suma acumulada de los valores de xprod(x) Producto de todos los valores de x

max(x),min(x) Máximo/Mínimo de los valores de xrange(x) Rango de los valores de xlength(x) Longitud del vectorsort(x) Ordena x de forma ascendenteorder(x) Determina el orden en la secuenciamean(x) Media aritméticamedian(x) Medianaquantile(x) Cuantiles principales

var(x) Cuasi varianza de xIQR(x) Rango intercuartílico de x

Objetos básicos y lectura de datos con R

Page 10: ApuntesdeR

Otras funciones y Operadores lógicos

Función Usounion(x,y) Vector unión de los valores de x e y

intersect(x,y) Vector intersección de x e ysetdiff(x,y) Cuáles de x no están en y

subset(x,cond) Subconjunto que cumple una condición lógica

Operadores de comparación Usox==y Es x igual a y?

x<=y, x>=y x menor (mayor) o igual que y?x!=y x distinto de y?

Operadores lógicos Uso& AND lógico| OR lógico! Contrario de uno lógicoxor OR exclusivo

Objetos básicos y lectura de datos con R

Page 11: ApuntesdeR

IndexadoUna de las operaciones más importantes con variables aleatorias esobtener subconjuntos del vector. El indexado de R es muy potente

x = 101:110x[c(1, 5, 1, 2)] # Subvector con elementos con posición 1,5,1,2

> [1] 101 105 101 102

x[c(TRUE, FALSE)] # Subvector con impares

> [1] 101 103 105 107 109

y = 11:20x[y < 15] # Subvector de x que coincide con y<15

> [1] 101 102 103 104

También se pueden usar indexado negativos: Selecciona todos loselementos excepto los elementos negativos que aparecen

x[-c(1, 5)] # Todos menos el 1 y el 5.

> [1] 102 103 104 106 107 108 109 110

Objetos básicos y lectura de datos con R

Page 12: ApuntesdeR

MatricesUna matriz (para R) es un vector que tiene atributos de fila y columna.La matriz se crea con el comando matrix y se rellena por defecto porcolumnas.

A <- matrix(1:15, nrow = 3, ncol = 5)print(A)

> [,1] [,2] [,3] [,4] [,5]> [1,] 1 4 7 10 13> [2,] 2 5 8 11 14> [3,] 3 6 9 12 15

El indexado también funciona con matrices.

A[1:2, -3]

> [,1] [,2] [,3] [,4]> [1,] 1 4 10 13> [2,] 2 5 11 14

Las funciones rbind y cbind permiten crear matrices pegando filas ocolumnas.

Objetos básicos y lectura de datos con R

Page 13: ApuntesdeR

Funciones de matrices

Función Usodim(A) Dimensión de la matriz A+,-,*,/ Operación de matrices elemento a elementoA%*%B Producto matricial

t(A) Transpuesta de una matriz Asolve(A) Inversa de la matriz Aeigen(A) Descomposición en autovalores y autovectoreschol(A) Descomposición de Cholesky

rowMeans(A),rowSums(A) Medias y sumas por filascolMeans(A),colSums(A) Medias y sumas por columnas

La extensión de una matriz sería un array que tendría más de dosdimensiones.

Objetos básicos y lectura de datos con R

Page 14: ApuntesdeR

Listas

Una lista es una colección de objetos (posiblemente diferentes entresí) empaquetados conjuntamente.milista = list(varx = x, matA = A)

Se accede a las componentes de la lista mediante el operador $ omediante el doble corchete.milista$varx

> [1] 101 102 103 104 105 106 107 108 109 110

milista[["matA"]]

> [,1] [,2] [,3] [,4] [,5]> [1,] 1 4 7 10 13> [2,] 2 5 8 11 14> [3,] 3 6 9 12 15

milista[[1]]

> [1] 101 102 103 104 105 106 107 108 109 110

Objetos básicos y lectura de datos con R

Page 15: ApuntesdeR

Data frameUn data.frame es una estructura que permite almacenar datos leídos. Separece a una matriz con la diferencia de que cada columna puede ser dedistinto tipo. Debe cumplirse que la longitud de los vectores que lacomponen sea la misma.

df = data.frame(var1 = 1:10, v2 = rep(c("A", "B"), 5))

Así hemos creado un data frame con dos variables, la primera numérica yla segunda character.Se puede acceder a cada una de las variables de la siguiente manera:

df[, "var1"] #Por el nombre de columna

> [1] 1 2 3 4 5 6 7 8 9 10

df$v2 #Como una lista

> [1] A B A B A B A B A B> Levels: A B

df[, 1] # Por la posición de la columna

> [1] 1 2 3 4 5 6 7 8 9 10

Objetos básicos y lectura de datos con R

Page 16: ApuntesdeR

Leyendo ficheros de datos

La manera más simple de guardas datos es un fichero de texto planoque esté estructurado en columnas. La función más genérica paraleer estos ficheros es la función read.table.Parámetros principales

header(TRUE,FALSE): Nombres de las variables en la primera fila?sep: Tipo de separados entre columnas.dec: Signo de separación entre la parte decimal y la entera.

Las funciones read.csv y read.csv2 son atajos de la funciónread.table con parámetros por defecto cambiando el separadordecimal . , y el separador de campos a , ;Las funciones read.delim y read.delim2 son atajos de la funciónread.table con separador por defecto igual al tabulador.También se puede leer directamente de muchos formatos de ficheros(hojas de cálculo, bases de datos) aunque para esto suele sernecesario cargar un paquete a mayores. (RODBC, DBI)

Objetos básicos y lectura de datos con R

Page 17: ApuntesdeR

Escritura de archivos

Para cada función de lectura de archivos read.xxxx existe lacorrespondiente write.xxxx que permite escribir un archivo con eseformato. Habitualmente, se escribirán data.frame

Extensión Tipo de fichero.csv, .csv2 Texto plano separado por comas (o punto y coma)

.delim, .delim2 Texto plano separado por tabuladores.fwf Texto plano con ancho fijo de las variables

.fortran Formato fijo de Fortranlibrary(foreign) Paquete con más tipos de ficheros

.dbf DBASE y similares

.dta Stata.epiinfo Epi Info.octave Octave.spss SPSS.systat Systat.mtp Minitab

Objetos básicos y lectura de datos con R

Page 18: ApuntesdeR

Lectura de datos

Los datos siempre se cargan en una estructura tipo data.frame

datos = read.csv2("Alumnos15-16.csv", dec = ".") # Datos alumnosattach(datos) #Truco para teclear Hermanos en vez de datos$Hermanos.head(Hermanos) # Primeros valores de la variable Hermanos

> [1] 2 2 2 2 2 2

En R tambien existen ficheros de datos predeterminados que se accedencon la función data.

data(AirPassengers)head(AirPassengers)

> [1] 112 118 132 129 121 135

El objeto AirPassengers ahora está accesible en el workspace.

Objetos básicos y lectura de datos con R

Page 19: ApuntesdeR

Factores

Un factor es un vector de datos cualitativos. A las categorias se les llamaniveles. Internamente se guarda como un vector de enteros.

f = factor(rep(c("Enfermo", "Sano"), c(3, 4)))levels(f)

> [1] "Enfermo" "Sano"

head(as.numeric(f))

> [1] 1 1 1 2 2 2

nlevels(f)

> [1] 2

gl(5, 3) # Genera 5 factores con 3 replicas

> [1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5> Levels: 1 2 3 4 5

Objetos básicos y lectura de datos con R

Page 20: ApuntesdeR

Formulas

Las fórmulas en R son objetos que se escriben en lenguaje simbólico. Elformato general es y model donde model puede ser

x+z: Modelo aditivo de x y zx:z: Término cruzado xzx|z: x condicionado a zx*z: Todos los términos con x o z (x+z+x:z)x%in% z: x anidado en z(x+z)~2: Todos los términos hasta grado 2x-1: Se elimina el término independienteI(x-log(z)): Se calcula la función x-log(z) y se usapoly(x,3): Polinomios ortogonales hasta grado 3

Objetos básicos y lectura de datos con R

Page 21: ApuntesdeR

Sentencias lógicas de control I

Clásico: if (exprlog) { expr2 } else { expr3 }.Si es cierto exprlog se ejecuta expr2 y si no expr3La opción else es optativaLas sentencias se pueden anidar.

Versión vectorial: ifelse(exprlog,{expr2} {expr3} ). Se usafundamentalmente para rellenar vectores.

Versión simple: switch(expr,lista).

Objetos básicos y lectura de datos con R

Page 22: ApuntesdeR

Sentencias lógicas de control II

IMC = round(Peso/(Altura/100)^2, 2)if (any(IMC <= 18.5)) {

print("Algún Infrapeso")} else {

print("Ningún Infrapeso")}

> [1] "Algún Infrapeso"

indi = ifelse(IMC <= 18.5, "Infra", "NoInfra")table(indi)

> indi> Infra NoInfra> 8 71

print(paste(IMC[10], switch(indi[10], Infra = "<=18.5", NoInfra = ">=18.5")))

> [1] "24.93 >=18.5"

Objetos básicos y lectura de datos con R

Page 23: ApuntesdeR

Bucles e iteraciones I

Bucle básico: for (dummy in expr1){ expr2 }expr1: Vector de cualquier tipo de objeto de R que se va a recorrer1:n, c(3,7), c(sin,cos)dummy: Es la variable que recorre el vector expr1.expr2: Conjunto de instrucciones que se ejecutan en cada iteraccióndel bucle.

Bucle lógico: while(exprlog) { expr2 }. Se ejecuta expr2 mientrassea cierta la expresión lógica exprlog.

Bucle infinito: repeat { expr2 }. Se ejecuta sin parar.Control de bucles.

break: Termina el bucle.next: Pasa a la siguiente iteracción.

Objetos básicos y lectura de datos con R

Page 24: ApuntesdeR

Bucles e iteraciones II

v = numeric(10)for (i in 1:10) {

v[i] = sample(1:10, 1)}v

> [1] 6 4 2 9 7 6 7 8 3 3

i = 0while (i < length(v)) {

i = i + 1v[i] = v[i]^2

}v

> [1] 36 16 4 81 49 36 49 64 9 9

Objetos básicos y lectura de datos con R

Page 25: ApuntesdeR

Funciones I

Una de las opciones más interesantes de R es poder crear tus propiasfunciones.nombre<-function(arg1=val,arg2=val,...){expr}Una vez en memoria se usa así: nombre(arg1,arg2)

No hace falta definir los tipos de argumentos.No se chequean los parámetros hasta que se usan dentro de lafunción.Los argumentos de entrada puede ponerse en cualquier ordenespecificando el nombre del argumento.Se pueden asignar valores por defecto a los parámetros. Unargumento sin valor por defecto lleva asociado NULL como valor.Si se usa una variable dentro de una función y no está definida, sebusca recursivamente en la función que la llamó y así sucesivamentehasta que se llega al entorno global.Se pueden incluir fórmulas de los otros argumentos como valor pordefecto en un argumento.

Objetos básicos y lectura de datos con R

Page 26: ApuntesdeR

Funciones II

La función devuelve el último objeto evaluado o lo que se indique enla sentencia return (normalmente una lista de objetos cuando sequiere devolver varias informaciones).

Se puede incluir . . . en la definición de una función. Esto indica queaquellos argumentos con nombre no explícitamente definido antes sepasarán a las funciones interiores donde aparezca . . .

Objetos básicos y lectura de datos con R

Page 27: ApuntesdeR

Funciones III

mifuncion = function(a, b = 3, draw = FALSE, ...) {z = a^bif (draw) {

plot(z, ...)}return(z)

}mifuncion(3, 3)

> [1] 27

mifuncion(b = 2, a = 5)

> [1] 25

mifuncion(seq(0, 1, length = 10), draw = TRUE, col = 2)

> [1] 0.000000000 0.001371742 0.010973937 0.037037037 0.087791495> [6] 0.171467764 0.296296296 0.470507545 0.702331962 1.000000000

Objetos básicos y lectura de datos con R

Page 28: ApuntesdeR

Funciones IV

2 4 6 8 10

0.0

0.2

0.4

0.6

0.8

1.0

Index

z

Objetos básicos y lectura de datos con R

Page 29: ApuntesdeR

Gráficos

Las funciones gráficas se dividen en :Funciones de 1º nivel: Crean ventanas gráficas (si no hay abiertas),establecen coordenadas y dibujan.Funciones de 2º nivel: Añaden elementos gráficos a ventanas yaabiertas.

Los modificadores gráficos (colores, aspecto, etc) suelen ser comunes atodas las funciones gráficas (véase par)

adj. Alineación del texto [0,1]. 0=izq. 0.5=centro, 1=dcha.col. Color para escribir elementos. (Puede especificarse como númeroentero, nombre del color en inglés, formato hexadecimal o rgb)lty. Tipo de líneapch. Formato de puntolwd. Anchura de líneacex. Tamaño del elemento.xlim, ylim, zlim. Límites para ejesmain, sub, xlab, ylab. Etiquetas de los ejes

Objetos básicos y lectura de datos con R

Page 30: ApuntesdeR

plot()plot es la función genérica para dibujar. El parámetro type especifica eltipo de gráfico ("l-línea, "p-puntos, "b-puntos y líneas, "n-no dibuja, sólocrea las coordenadas, "h-líneas verticales, "s-tipo escalera).

plot(Altura, Peso, type = "p", main = "Dispersion", pch = 19,col = c("red", "blue")[Sexo])

150 160 170 180 190

5070

90

Dispersion

Altura

Pes

o

Objetos básicos y lectura de datos con R

Page 31: ApuntesdeR

Añadir elementos gráficos I

points(x,y). Añade puntos en la posición (x,y).

lines(x,y). Añade líneas

abline(c(a,b),abline(h=),abline(v=). Añade una línea a + bx o unahorizontal o vertical.

legend(pos,texto,...). Añade una leyenda al gráfico.

text(x,y,texto). Añade texto en la posición (x,y).arrows, segments, polygon, rect. Flechas, segmentos, polígonos,rectángulos

plot(Altura, Peso, type = "n")text(Altura, Peso, Equipo, col = c("red", "blue")[Sexo], cex = 0.7)abline(h = mean(Peso), lwd = 2)abline(v = mean(Altura), lwd = 2)abline(c(-100, 1), lwd = 2, col = 2)legend("topleft", c("Mujer", "Hombre"), text.col = c("red", "blue"))

Objetos básicos y lectura de datos con R

Page 32: ApuntesdeR

Añadir elementos gráficos II

150 160 170 180 190

5060

7080

90

Altura

Peso LPA

RMA

RMA

EIB

RMA

DEPDEPRMA

DEP

CEL

DEPRMA

RMA

NIN

RMA

RMA

NIN

NIN

NIN

RMA

BARRMA

DEP

NIN

NINNIN

RMA

NIN NIN

NIN

NIN

CEL

RMA

NIN

CEL

RMA

NIN

NIN NINNIN

RMA

DEP

NIN

DEP

NIN

DEP

BAR

NINNIN

RMA

NIN

CEL

BAR

RMA

AMA

BAR

VAL

DEP

BAR

CEL

NIN

NIN

BAR

ABININ

NIN

NINRMA

RMANIN

NIN

RAYNIN

NINEIB

BAR

CEL

NIN

BAR

MujerHombre

Objetos básicos y lectura de datos con R

Page 33: ApuntesdeR

Otras funciones gráficas

symbols(x,y,var). Dibuja var como símbolo: círculos(1), rectángulos(2), estrellas(3+),boxplots(5),termómetros(3/4),...pie(). Clásico gráfico de tartaboxplot(). Diagrama de cajashist(). Histogramapairs(). Gráficos x-y multivariantesmatplot(x,y). Dibujar una matriz y que tienen los mismos x.barplot(). Clásico gráfico de barrasimage(x,y,z). Gráfico de niveles por colores de una superficie.contour(x,y,z), filled.contour(x,y,z). Gráficos de contornopersp(x,y,z). Gráfico en 3D.

Objetos básicos y lectura de datos con R

Page 34: ApuntesdeR

Ejemplos I

par(mfrow = c(1, 2))hist(Altura)boxplot(Dinero ~ Equipo, col = rainbow(6), horizontal = TRUE)

Histogram of Altura

Altura

Fre

quen

cy

150 160 170 180 190

05

1015

AB

ID

EP

RA

Y

0 50 100 200

Objetos básicos y lectura de datos con R

Page 35: ApuntesdeR

Ejemplos II

par(mfrow = c(1, 2))pie(table(Hermanos), main = "N de hermanos")barplot(table(Equipo), cex.names = 0.6)

0

1

2 3

4

N de hermanos

ABI BAR DEP LPA RAY VAL

05

1525

Objetos básicos y lectura de datos con R

Page 36: ApuntesdeR

Ejemplos III

symbols(Altura, Peso, circles = Dinero/150, inches = FALSE)

150 160 170 180 190

4060

8010

0

Altura

Pes

o

Objetos básicos y lectura de datos con R

Page 37: ApuntesdeR

Ejemplos IV

data(volcano)par(mfrow = c(1, 2))x = 1:nrow(volcano)y = 1:ncol(volcano)zlim = range(volcano)zl = cut(volcano[2:nrow(volcano), 2:ncol(volcano)], 10)clut = terrain.colors(10)colores = clut[zl]image(x, y, volcano)contour(x, y, volcano, add = TRUE)persp(x, y, volcano, theta = 45, phi = 45, col = colores, shade = 0.8,

box = FALSE, expand = 0.5, border = NA)

Objetos básicos y lectura de datos con R

Page 38: ApuntesdeR

Ejemplos V

20 40 60 80

1020

3040

5060

x

y

100

100

110

110 110

120

130

140

150

160

160

170

180

190

Objetos básicos y lectura de datos con R

Page 39: ApuntesdeR

Ejemplos VI

require(lattice)

> Loading required package: lattice

require(latticeExtra)

> Loading required package: latticeExtra> Loading required package: RColorBrewer

tab = table(Equipo, Sexo)cloud(tab, panel.3d.cloud = panel.3dbars, xbase = 0.4, ybase = 0.4,

zlim = c(0, max(tab)), scales = list(arrows = FALSE, just = "right"),xlab = NULL, ylab = NULL, col.facet = level.colors(tab, at = do.breaks(range(tab),

10), col.regions = cm.colors, colors = TRUE), colorkey = list(col = cm.colors,at = do.breaks(range(tab), 10)), screen = list(z = 60,x = -30))

Objetos básicos y lectura de datos con R

Page 40: ApuntesdeR

Ejemplos VII

ABIAMABARCELDEP

EIBLPANINRAYRMAVAL

M

V

05

10

15

tab

0

2

4

6

8

10

12

14

16

18

Objetos básicos y lectura de datos con R

Page 41: ApuntesdeR

Ejemplos VIII

library(plotrix)pie3D(table(Equipo), explode = 0.1, main = "Tarta 3D")

Tarta 3D

ABIAMA

BARCELDEPEIBLPA

NIN

RAYRMA

VAL

Objetos básicos y lectura de datos con R

Page 42: ApuntesdeR

Ejemplos IX

require(maps)

> Loading required package: maps

map("world", regions = "Spain")title(main = "Ciudades de mas de 50000 hab.")data(world.cities)map.cities(world.cities, country = "Spain", minpop = 50000, maxpop = Inf,

pch = 20, col = "red")

Objetos básicos y lectura de datos con R

Page 43: ApuntesdeR

Ejemplos X

Ciudades de mas de 50000 hab.

Objetos básicos y lectura de datos con R

Page 44: ApuntesdeR

Ejemplos XI

library(RgoogleMaps)Fmat = c(-8.5578166, 42.8746166)Santiago <- GetMap(center = "Campus de Santiago, Santiago de Compostela",

maptype = "satellite", zoom = 16, hl = "es")PlotOnStaticMap(Santiago, lat = Fmat[2], lon = Fmat[1], pch = 20,

col = "red")TextOnStaticMap(Santiago, lat = Fmat[2] - 5e-04, lon = Fmat[1] -

1e-04, "Matematicas", adj = 0, cex = 1, col = "red", add = TRUE)

Objetos básicos y lectura de datos con R

Page 45: ApuntesdeR

Ejemplos XII

Objetos básicos y lectura de datos con R