Está en la página 1de 45

Objetos bsicos y lectura de datos con R

Dpt. de Estadstica e Inv. Operativa


Univ. de Santiago de Compostela

Santiago de Compostela, 2013

Introduccin
R es un proyecto de software libre que constituye el estndar en
Computacin Estadstica (http://www.r-project.org)
Es una evolucin del lenguaje S (Bell Laboratories, 70s) iniciada por
Robert Gentleman and Ross Ihaka (90s) y soportada por una
ingente comunidad de desarrolladores sin nimo de lucro (Free
Software Foundation)
R proporciona la ms amplia variedad de tcnicas estadsticas y
grficas y es altamente configurable y extensible. Puede mezclarse
con otros entornos y/o lenguajes (Fortran, C, PHP, ...).
R es un lenguaje vectorial y orientado a objetos.
La lista de manuales puede encontrarse en
http://cran.r-project.org/doc/manuals/.
En su formato ms bsico dispone de una consola donde se teclean
los comandos y se muestra la respuesta del sistema a esos comandos
(lenguaje interpretado).
Objetos bsicos y lectura de datos con R

Mi primera sesin
45 + 26/2
> [1] 58
sqrt(25) + sin(pi/4)
> [1] 5.707107

El trabajo de R se articula mediante funciones que se reconocen porque


tienen argumentos entre parntesis. En el ejemplo anterior se han usado
las funciones sqrt y sin. Para buscar informacin sobre una funcin,
podemos usar:
help.search("Arithmetic Mean") # Busca informacin sobre la media aritmtica.
help(sqrt) # Buscar informacin sobre la funcin sqrt
apropos("log") # Todas las funciones que contiene 'log'
example(log) # Ejemplo de uso de la funcin log

Objetos bsicos y lectura de datos con R

Lenguaje orientado a objectos


R es un lenguaje orientado a objetos (estructura que presenta
caractersticas y/o atributos y las funciones interactan con ellos).
Los objetos se crean mediante los operadores de asignacin (<-, ->, =)
y se establecen las propiedades en funcin de lo asignado.
x <- 27.5
class(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 bsicos y lectura de datos con R

Workspace
El Workspace es el lugar donde se almacenan los objetos que se van
creando (como una carpeta). Al salir de la sesin nos pide si queremos
guardar el Workspace para tenerlo disponible la prxima vez que se inicie
sesin. (Se almacena como un fichero .RData en tu directorio de trabajo
que por defecto est oculto).
getwd() # Pregunto cual es mi directorio de trabajo
setwd("Z:/") # Establezco mi directorio de trabajo en Z:/

De vez en cuando, es conveniente limpiar el workspace para que no nos


queden objetos no necesarios que slo ocupan memoria.
A la hora de desarrollar alguna tcnica compleja es til escribir la
coleccin de instrucciones necesarias en un script (fichero de texto
simple). La coleccin de instrucciones de un script se puede copiar y
pegar en la consola (Ctrl+C y Ctrl+V) o se pueden ejecutar directamente
con la funcin source("miscript.R") donde "miscript.R"debe sustituirse
por el nombre del fichero.
Objetos bsicos y lectura de datos con R

Creacin de objetos bsicos


Los tipos de objetos bsicos son los de cualquier lenguaje de
programacin: logical, numeric (integer, real, double), character.
Desde el punto de vista estadstico nos interesa que estos formatos
bsicos 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 estadstico en R ser
mediante vectores, matrices y data.frame.
Vector: Una nica variable aleatoria
Matriz: Varias variables aleatorias (por columna) del mismo tipo.
data.frame: Matriz donde las columnas pueden ser de distinto tipo
que las anteriores.
Objetos bsicos y lectura de datos con R

Operaciones matemticas
NA representa los valores perdidos (Not available)
Tambin estn definidos los indeterminados NaN y los tipos
especiales 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 matemticas bsicas


Funcin
+,-,*,/, p , % %, %/ %
sin,cos, tan,
log, log2, log10, exp
choose
factorial
ceiling, floor, round

Uso
Operaciones aritmticas
Funciones trigonomtricas
Logaritmos
Nmeros combinatorios
Factorial
Redondeos
Objetos bsicos y lectura de datos con R

Creacin bsica de vectores


Maneras de crear un vector
c : Valores del vector separados por comas.
rep: Repetir un valor un nmero determinado de veces.
seq: Como una secuencia entre un valor inicial y otro final. 1:4 es un
atajo para seq(1,4,by=1)
Cualquier combinacin 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 bsicos y lectura de datos con R

Funciones simples que operan sobre vectores


Funcin
sum(x)
cumsum(x)
prod(x)
max(x),min(x)
range(x)
length(x)
sort(x)
order(x)
mean(x)
median(x)
quantile(x)
var(x)
IQR(x)

Uso
Suma los valores de x
Suma acumulada de los valores de x
Producto de todos los valores de x
Mximo/Mnimo de los valores de x
Rango de los valores de x
Longitud del vector
Ordena x de forma ascendente
Determina el orden en la secuencia
Media aritmtica
Mediana
Cuantiles principales
Cuasi varianza de x
Rango intercuartlico de x

Objetos bsicos y lectura de datos con R

Otras funciones y Operadores lgicos


Funcin
union(x,y)
intersect(x,y)
setdiff(x,y)
subset(x,cond)

Uso
Vector unin de los valores de x e y
Vector interseccin de x e y
Cules de x no estn en y
Subconjunto que cumple una condicin lgica

Operadores de comparacin
x==y
x<=y, x>=y
x!=y
Operadores lgicos
&
|
!
xor

Uso
Es x igual a y?
x menor (mayor) o igual que y?
x distinto de y?
Uso
AND lgico
OR lgico
Contrario de uno lgico
OR exclusivo
Objetos bsicos y lectura de datos con R

Indexado
Una de las operaciones ms importantes con variables aleatorias es
obtener subconjuntos del vector. El indexado de R es muy potente
x = 101:110
x[c(1, 5, 1, 2)]

# Subvector con elementos con posicin 1,5,1,2

> [1] 101 105 101 102


x[c(TRUE, FALSE)]

# Subvector con impares

> [1] 101 103 105 107 109


y = 11:20
x[y < 15]

# Subvector de x que coincide con y<15

> [1] 101 102 103 104

Tambin se pueden usar indexado negativos: Selecciona todos los


elementos 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 bsicos y lectura de datos con R

Matrices
Una 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 por
columnas.
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 tambin 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 o


columnas.
Objetos bsicos y lectura de datos con R

Funciones de matrices

Funcin
dim(A)
+,-,*,/
A %* %B
t(A)
solve(A)
eigen(A)
chol(A)
rowMeans(A),rowSums(A)
colMeans(A),colSums(A)

Uso
Dimensin de la matriz A
Operacin de matrices elemento a elemento
Producto matricial
Transpuesta de una matriz A
Inversa de la matriz A
Descomposicin en autovalores y autovectores
Descomposicin de Cholesky
Medias y sumas por filas
Medias y sumas por columnas

La extensin de una matriz sera un array que tendra ms de dos


dimensiones.

Objetos bsicos y lectura de datos con R

Listas
Una lista es una coleccin de objetos (posiblemente diferentes entre
s) empaquetados conjuntamente.
milista = list(varx = x, matA = A)

Se accede a las componentes de la lista mediante el operador $ o


mediante 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 bsicos y lectura de datos con R

Data frame
Un data.frame es una estructura que permite almacenar datos ledos. Se
parece a una matriz con la diferencia de que cada columna puede ser de
distinto tipo. Debe cumplirse que la longitud de los vectores que la
componen 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 numrica y


la segunda character.
Se puede acceder a cada una de las variables de la siguiente manera:
df[, "var1"]

#Por el nombre de columna

>

[1]

df$v2

9 10

#Como una lista

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

[1]

# Por la posicin de la columna


1

9 10
Objetos bsicos y lectura de datos con R

Leyendo ficheros de datos


La manera ms simple de guardas datos es un fichero de texto plano
que est estructurado en columnas. La funcin ms genrica para
leer estos ficheros es la funcin read.table.
Parmetros principales
header(TRUE,FALSE): Nombres de las variables en la primera fila?
sep: Tipo de separados entre columnas.
dec: Signo de separacin entre la parte decimal y la entera.

Las funciones read.csv y read.csv2 son atajos de la funcin


read.table con parmetros por defecto cambiando el separador
decimal . , y el separador de campos a , ;
Las funciones read.delim y read.delim2 son atajos de la funcin
read.table con separador por defecto igual al tabulador.
Tambin se puede leer directamente de muchos formatos de ficheros
(hojas de clculo, bases de datos) aunque para esto suele ser
necesario cargar un paquete a mayores. (RODBC, DBI)
Objetos bsicos y lectura de datos con R

Escritura de archivos
Para cada funcin de lectura de archivos read.xxxx existe la
correspondiente write.xxxx que permite escribir un archivo con ese
formato. Habitualmente, se escribirn data.frame
Extensin
.csv, .csv2
.delim, .delim2
.fwf
.fortran
library(foreign)
.dbf
.dta
.epiinfo
.octave
.spss
.systat
.mtp

Tipo de fichero
Texto plano separado por comas (o punto y coma)
Texto plano separado por tabuladores
Texto plano con ancho fijo de las variables
Formato fijo de Fortran
Paquete con ms tipos de ficheros
DBASE y similares
Stata
Epi Info
Octave
SPSS
Systat
Minitab
Objetos bsicos y lectura de datos con R

Lectura de datos
Los datos siempre se cargan en una estructura tipo data.frame
datos = read.csv2("Alumnos15-16.csv", dec = ".") # Datos alumnos
attach(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 acceden


con la funcin data.
data(AirPassengers)
head(AirPassengers)
> [1] 112 118 132 129 121 135

El objeto AirPassengers ahora est accesible en el workspace.

Objetos bsicos y lectura de datos con R

Factores
Un factor es un vector de datos cualitativos. A las categorias se les llama
niveles. 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 bsicos y lectura de datos con R

Formulas
Las frmulas en R son objetos que se escriben en lenguaje simblico. El
formato general es y model donde model puede ser
x+z: Modelo aditivo de x y z
x:z: Trmino cruzado xz
x|z: x condicionado a z
x*z: Todos los trminos con x o z (x+z+x:z)
x %in % z: x anidado en z
(x+z)~2: Todos los trminos hasta grado 2
x-1: Se elimina el trmino independiente
I(x-log(z)): Se calcula la funcin x-log(z) y se usa
poly(x,3): Polinomios ortogonales hasta grado 3

Objetos bsicos y lectura de datos con R

Sentencias lgicas de control I

Clsico: if (exprlog) { expr2 } else { expr3 }.


Si es cierto exprlog se ejecuta expr2 y si no expr3
La opcin else es optativa
Las sentencias se pueden anidar.

Versin vectorial: ifelse(exprlog,{expr2} {expr3} ). Se usa


fundamentalmente para rellenar vectores.
Versin simple: switch(expr,lista).

Objetos bsicos y lectura de datos con R

Sentencias lgicas de control II


IMC = round(Peso/(Altura/100)^2, 2)
if (any(IMC <= 18.5)) {
print("Algn Infrapeso")
} else {
print("Ningn Infrapeso")
}
> [1] "Algn 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 bsicos y lectura de datos con R

Bucles e iteraciones I

Bucle bsico: for (dummy in expr1){ expr2 }


expr1: Vector de cualquier tipo de objeto de R que se va a recorrer
1: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 iteraccin
del bucle.

Bucle lgico: while(exprlog) { expr2 }. Se ejecuta expr2 mientras


sea cierta la expresin lgica exprlog.
Bucle infinito: repeat { expr2 }. Se ejecuta sin parar.
Control de bucles.
break: Termina el bucle.
next: Pasa a la siguiente iteraccin.

Objetos bsicos y lectura de datos con R

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 = 0
while (i < length(v)) {
i = i + 1
v[i] = v[i]^2
}
v
>

[1] 36 16

4 81 49 36 49 64

Objetos bsicos y lectura de datos con R

Funciones I
Una de las opciones ms interesantes de R es poder crear tus propias
funciones.
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 parmetros hasta que se usan dentro de la
funcin.
Los argumentos de entrada puede ponerse en cualquier orden
especificando el nombre del argumento.
Se pueden asignar valores por defecto a los parmetros. Un
argumento sin valor por defecto lleva asociado NULL como valor.
Si se usa una variable dentro de una funcin y no est definida, se
busca recursivamente en la funcin que la llam y as sucesivamente
hasta que se llega al entorno global.
Se pueden incluir frmulas de los otros argumentos como valor por
defecto en un argumento.
Objetos bsicos y lectura de datos con R

Funciones II

La funcin devuelve el ltimo objeto evaluado o lo que se indique en


la sentencia return (normalmente una lista de objetos cuando se
quiere devolver varias informaciones).
Se puede incluir . . . en la definicin de una funcin. Esto indica que
aquellos argumentos con nombre no explcitamente definido antes se
pasarn a las funciones interiores donde aparezca . . .

Objetos bsicos y lectura de datos con R

Funciones III
mifuncion = function(a, b = 3, draw = FALSE, ...) {
z = a^b
if (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 bsicos y lectura de datos con R

0.0 0.2 0.4 0.6 0.8 1.0

Funciones IV

Index

Objetos bsicos y lectura de datos con R

10

Grficos
Las funciones grficas se dividen en :
Funciones de 1 nivel: Crean ventanas grficas (si no hay abiertas),
establecen coordenadas y dibujan.
Funciones de 2 nivel: Aaden elementos grficos a ventanas ya
abiertas.
Los modificadores grficos (colores, aspecto, etc) suelen ser comunes a
todas las funciones grficas (vase par)
adj. Alineacin del texto [0,1]. 0=izq. 0.5=centro, 1=dcha.
col. Color para escribir elementos. (Puede especificarse como nmero
entero, nombre del color en ingls, formato hexadecimal o rgb)
lty. Tipo de lnea
pch. Formato de punto
lwd. Anchura de lnea
cex. Tamao del elemento.
xlim, ylim, zlim. Lmites para ejes
main, sub, xlab, ylab. Etiquetas de los ejes
Objetos bsicos y lectura de datos con R

plot()
plot es la funcin genrica para dibujar. El parmetro type especifica el
tipo de grfico ("l-lnea, "p-puntos, "b-puntos y lneas, "n-no dibuja, slo
crea las coordenadas, "h-lneas verticales, "s-tipo escalera).
plot(Altura, Peso, type = "p", main = "Dispersion", pch = 19,
col = c("red", "blue")[Sexo])

70
50

Peso

90

Dispersion

150

160

170

180

190

Altura
Objetos bsicos y lectura de datos con R

Aadir elementos grficos I


points(x,y). Aade puntos en la posicin (x,y).
lines(x,y). Aade lneas
abline(c(a,b),abline(h=),abline(v=). Aade una lnea a + bx o una
horizontal o vertical.
legend(pos,texto,...). Aade una leyenda al grfico.
text(x,y,texto). Aade texto en la posicin (x,y).
arrows, segments, polygon, rect. Flechas, segmentos, polgonos,
rectngulos
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 bsicos y lectura de datos con R

Aadir elementos grficos II

BAR
DEP
CEL

70
60

BAR
VAL

150

RMA
CEL

RMA
EIB
NIN
NIN NIN
RMA
RMA
AMA
CEL
BAR
EIB
DEP
NIN DEP
NIN
NIN
LPA NIN
DEP
RMA RAYRMA
RMA
RMA
NIN
RMA
BAR
DEP RMA
BAR
NIN
NIN DEPBAR CEL NIN
CEL
RMA
ABI BAR
NIN
NIN
NIN
DEP
NIN
NIN
DEP
NIN
NIN
RMACEL
NIN
RMA
RMA
BAR
DEP
NIN
NIN
NIN
RMA
NIN RMA
NIN
NIN
NIN
RMA
NIN NIN
RMA
NIN
NIN

50

Peso

80

90

Mujer
Hombre

160

170

NIN

180

190

Altura

Objetos bsicos y lectura de datos con R

Otras funciones grficas


symbols(x,y,var). Dibuja var como smbolo: crculos(1), rectngulos
(2), estrellas(3+),boxplots(5),termmetros(3/4),...
pie(). Clsico grfico de tarta
boxplot(). Diagrama de cajas
hist(). Histograma
pairs(). Grficos x-y multivariantes
matplot(x,y). Dibujar una matriz y que tienen los mismos x.
barplot(). Clsico grfico de barras
image(x,y,z). Grfico de niveles por colores de una superficie.
contour(x,y,z), filled.contour(x,y,z). Grficos de contorno
persp(x,y,z). Grfico en 3D.

Objetos bsicos y lectura de datos con R

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

RAY
DEP

10

ABI

5
0

Frequency

15

Histogram of Altura

150

160

170

180

190

50 100

200

Altura

Objetos bsicos y lectura de datos con R

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

0
4
3

0 5

15

25

N de hermanos

ABI

BAR

DEP

LPA

RAY

Objetos bsicos y lectura de datos con R

VAL

Ejemplos III

60
40

Peso

80

100

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

150

160

170

180

190

Altura

Objetos bsicos y lectura de datos con R

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 bsicos y lectura de datos con R

10 20 30 40 50 60

110

110

100

150

130

160

190

180

170

160

140

110

120
10

Ejemplos V

20

40

60

80

Objetos bsicos y lectura de datos con R

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
10), col.regions = cm.colors, colors = TRUE), colorkey = list(col = cm.c
at = do.breaks(range(tab), 10)), screen = list(z = 60,
x = -30))

Objetos bsicos y lectura de datos con R

Ejemplos VII
18
16
14
12
10
15

tab

10
5
0
V
M

VAL
RMA
RAY
NIN
LPA
EIB
DEP
CEL
BAR
AMA
ABI

8
6
4
2
0

Objetos bsicos y lectura de datos con R

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

Tarta 3D

DEP
LPAEIB

CEL

NIN
RAY

BAR
AMA
VAL
ABI

RMA

Objetos bsicos y lectura de datos con R

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 bsicos y lectura de datos con R

Ejemplos X

Ciudades de mas de 50000 hab.

Objetos bsicos y lectura de datos con R

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 bsicos y lectura de datos con R

Ejemplos XII

Objetos bsicos y lectura de datos con R

También podría gustarte