Logo Studenta

Introduccion 18d3e889b314438cb1c0dec97b0de948

¡Este material tiene más páginas!

Vista previa del material en texto

Introduccion 1
�
Introduccion
Tipo Anotaciones
Etiquetas
R studio es mas amigable que R
Las vbles no pueden comenzar con un numero
Comandos
“rmˮ borra vbles, ej rm(ventas)
Para correr el codigo presionamos “ctrlˮ + “enterˮ
ventas = c(200,210,230,260,290,350 la “c ,ˮ se usa para concatenar
Introduccion 2
Baja 1 unidad a todos los elementos del vector
con “plotˮ graficamos las vbles
De sea manera redondeamos el numero
Comando seq
en ese caso es una secuencia, de 100 hasta 500, de 50 en 50
de 20 a 70, mostrando solo 3 elementos
comando rep
en el primer caso se repite 5 veces el 100
en el segundo caso se repite la secuencia de 100 a 104 2 veces
en el tercer caso se repite 3 veces 100, 101, 102, 103 y 104
Introduccion 3
En este caso vemos la repeticion de la secuencia de 100 a 104, pero, repitiendo 
al 100 2 veces, al 101 1 vez y asi sucesivamente.
En el segundo caso es similar, no hay una secuencia sino un vector al que 
establecemos la cantidad de veces que se repite cada numero
En este caso guardamos los caracteres en una vble, y posteriormente lo 
repetimos en las veces que lo establecemos
Comando paste
Esto esta bueno para rotular, la salida seria “categoria + el num siguiente o el 
caracter “
Introduccion 4
Factores
Los factores son una combinacion de vectores numericos, con etiquetas, por 
ejemplo:
contribuyentes = factor(c(2,1,1,2,3,1,4,2,3,1,4, labels=c("RI","EX","RS","RNI"))
En ese caso, se etiquetan los numeros utilizados, el 1 es “RI ,ˮ el 2 es “EXˮ y asi 
sucesivamente. La salida entonces seria:
> contribuyentes = factor(c(2,1,1,2,3,1,4,2,3,1,4),labels=c
("RI","EX","RS","RNI"))
> contribuyentes
 [1] EX RI RI EX RS RI RNI EX RS RI RNI
En un factor, incorporando “orderedˮ le agregamos un orden a los niveles 
creados, de la siguiente manera
intensidad← ordered(c(0,1,2,3,2,3,1,0, labels=c("Baja", "Leve", "Alta", 
"Intensa"))
> intensidad<- ordered(c(0,1,2,3,2,3,1,0), labels=c("Baja", 
"Leve", "Alta", "Intensa"))
> intensidad
[1] Baja Leve Alta Intensa Alta Intensa Leve 
Baja
Levels: Baja < Leve < Alta < Intensa
Matrices
Introduccion 5
Gralmente son datos numericos.
Se utiliza el comando “matrixˮ
> matrix(data=1000, nr=3, nc=2)
 [,1] [,2]
[1,] 1000 1000
[2,] 1000 1000
[3,] 1000 1000
> matrix(data=c(100,200,500,800,900,1000),nr=2,nc=3)
 [,1] [,2] [,3]
[1,] 100 500 900
[2,] 200 800 1000
En el primer caso, el dato es “1000 ,ˮ y se le pasa que se lo tiene que ordenar en 
3 filas y 2 columnas.
En el segundo caso, se le pasa un vector, que se ordena columna por columna, 
en este caso, los 2 primeros numeros llenan la primer columna, los otros 2 la 
segunda y asi, eso es por defecto.
No hace falta enunciar todo, solo basca con poner los datos ordenados, por 
ejemplo:
> matrix(1:10, 2, 5)
 [,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
otro caso:
> matrix(1:10, 2, 5, byrow=T)
 [,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
agregando “byrow=T ,ˮ rellenamos primero las filas
Con el comando “dimˮ vemos las dimensiones de cada variable.
Introduccion 6
POr ejemplo, a la variable costos que tenia varios elementos: 
dim(costos) = c(2, 3)
Tenia una dimension, y con ese vector lo hacemos de 2 dimensiones
> costos
 [,1] [,2] [,3]
[1,] 152 202 228
[2,] 199 211 248
Si queremos manipular una vble, la renombramos y modificamos esa que 
renombramos, de este modo tendremos 2 vbles, la original y la renombrada
Si queremos eliminar una columna o fila de una matriz hacemos lo siguiente:
cto = cto [ ,-c(2)]
> cto = costos
> cto
 [,1] [,2] [,3]
[1,] 152 202 228
[2,] 199 211 248
> cto = cto [ ,-c(2)]
> cto
 [,1] [,2]
[1,] 152 228
[2,] 199 248
De esa manera, eliminamos la segunda columna de “cto .ˮ
Tmb se pueden asignar nombres a las filas y matrices, de la siguiente forma:
rownames(costos)← paste("Fila", 12
colnames(costos)← paste("Columna", 13
> # Asignar nombre a las filas y columnas de matriz
> rownames(costos)<- paste("Fila", 1:2)
> colnames(costos)<- paste("Columna", 1:3)
> costos
Introduccion 7
 Columna 1 Columna 2 Columna 3
Fila 1 152 202 228
Fila 2 199 211 248
Unir matrices
Una funcion interesante es unir matrices, que puede ser el caso cuando 
tengoamos un conjunto de datos y quieramos agregar una columna o una fila 
nueva.
el comando “rbindˮ adiciona filas y “cbindˮ adiciona columnas
> rbind(costos, utilidad)
 Columna 1 Columna 2 Columna 3
Fila 1 152 202 228
Fila 2 199 211 248
Fila 3 90 100 110
Fila 4 95 105 120
> cbind(costos, utilidad)
 Columna 1 Columna 2 Columna 3 Columna 4 Columna 5 Colum
Fila 1 152 202 228 90 100 
Fila 2 199 211 248 95 105 
Dataframes
Los dataframes son matrices pero con diversos caracteres, numeros, letras, 
etc
> vtaunit=c(10,15,19,20,30,36)
> costounit=c(15,20)
> data.frame(vtaunit,costounit)
 vtaunit costounit
1 10 15
2 15 20
3 19 15
4 20 20
Introduccion 8
5 30 15
6 36 20
En ese caso, repite el vector de menos espacios las veces que sean necesarias
> marco=data.frame(Vta_Unitario=vtaunit,Costo_Unitario=cost
ounit)
> row.names(marco)<-paste("Producto", 1:6)
> marco
 Vta_Unitario Costo_Unitario
Producto 1 10 15
Producto 2 15 20
Producto 3 19 15
Producto 4 20 20
Producto 5 30 15
Producto 6 36 20
En ese caso, el dataframe ordena las vbles en columnas (siempre lo hace por 
defecto), posteriormente le damos un nombre a las columnas y luego a las filas
Listas
Las listas arman listas separadas de cada elemento
fix
La funcion “fix ,ˮ es de la mas importantes para mi, con esta funcion, podemos 
modificar el dataframe directamente desde un cuadro, haciendo las 
modificaciones muy sencillas y visuales
Introduccion 9
Para modificar, solo seleccionamos la casilla a modificar, modificacmos y 
damos a escape, ahi ya esta
IMPORTACION DE DATOS
Desde el PortaPapeles
informacion=read.delim("clipboard", row.names=1, dec=",", header  T,
stringsAsFactors  T
Con eso lo que hacemos al darle el “clipboardˮ es que copie desde el 
portapapeles, le indicamos que ignore la primera columna, que se usan “,ˮ para 
los decimales, que la tabla tiene encabezado y que las celdas con caracteres 
sean consideradas como factores
Lectura archivo (Varables separada por coma) - Fijar 
Directorio Trabajo
info←read.csv("inform.csv", sep=";", dec=",", header=T,
stringsAsFactors  T, row.names  1
Introduccion 10
Para leer el archivo csv, hay que fijar el directorio de trabajo, el programa 
tienen que saber a donde ir a buscar la info, para eso
En session, chosee directory, elegimos la carpeta donde estamos trabajando
 setwd("C:/Users/Enzo/Desktop/ENZO/Cursos/Introduccion en R/Modulo 1/Bases de datos-
20231105")
Ahi fijamos el directorio
# Lectura Archivo Environment  Import Dataset
Tambien podemos importar desde import dataset:
Ahora:
Introduccion 11
Del dataframe info, buscamos la columna departamento “info$departamento ,ˮ 
y se muestra
con el “attach ,ˮ es como que invocamos la base de datos, despues en la vble 
“mas3pˮ lo que hacemos es una vble con las filas donde la columna cursado 
sea mayor a 3, y todas las columnas
En “mas4pˮ esto cambia, ya que solo mostramos las columnas 1,4 y 6
Otra forma de seleccionar es con “subsetˮ
En este caso, se debe poner la base de datos dentro del argumento
b←subset(info, Carrera=="CPN" | Carrera=="LAE")
el operador “|ˮ significa el operador “oˮ
Introduccion 12
Reemplazar valor "" en Empleador por 
NA, dato perdido.
informacion$Empleador[informacion$Empleador==""NAEn ese caso, dentro de informacion, buscamos en “empleador ,ˮ y decimos que 
a las celdas vacias “ ,ˮ las cambie a NA
Ordenar por Departamento y por 
Inmuebles, orden ascendente
info[order(Departamento,Inmuebles),]
info[order(Departamento,Inmuebles, decreasing=T,
Ahi vemos la ventaja de attachar, es un atajo
Modificar Escala en varias columnas
info.num←info[,c(58)]
linfo.num ←log(info.num)
Ahi le agregamos log a toda la base de datos
Estandarización de datos
sinfo.num ← scale(info.num, scale=F, center=T
sinfo.num
Introduccion 13
Ahora podemos convertir esa matriz creada en dataframe de la siguiente 
manera:
sol = as.data.frame(sinfo.num)
Seleccion de muestras
muestra1←mas3pro[sample(20),]
Ahi seleccionamos 20 muestras aleatorias de esa columna
Crear un factor a partir de una variable 
numerica
summary(info$Inmuebles)
con sumari vemos
summary(info$Inmuebles)
 Min. 1st Qu. Median Mean 3rd Qu. Max.
 0.000 1.000 1.000 1.962 2.000 8.000
info$Capacidad←cut(info$Inmueble, breaks=c(0,2,5,max(info$Inmuebles)),
right=T, labels = c(paste("Capacidad", 13
Eso quiere decir que hacemos un corte en inmueble, de 0 a 2, de 2 a 5 y de 5 a 
max, que se llamara capacidad y va del 1 al 3
Es muy importante que los caracteres se conviertan a factor para ver la 
siguiente informacion:
> summary(info)
 Departamento Carrera 
 Oran : 17 Profesor Historia :39 Curso Po
 La Poma : 16 Profesor Literatura :39 Doctorado
 Rosario de Lerma: 14 Lic Analista Sistemas :29 Especiali
 Molinos : 13 Periodismo :24 Maestria 
 Chicoana : 12 Lic. Comunicaciones :18 Postitulo
 Coronel Moldes : 12 Lic. Recursos Naturales:18
Introduccion 14
 (Other) :176 (Other) :93
 Universidad Cursado Superficie Inmueble
 Extranjera:63 Min. : 1.000 Min. : 55.0 Min. :0.0
 Local :63 1st Qu.: 3.000 1st Qu.: 198.0 1st Qu.:1.0
 Nacional :20 Median : 4.000 Median : 299.8 Median :1.0
 Privada :54 Mean : 4.495 Mean : 468.9 Mean :1.9
 Provincial:60 3rd Qu.: 5.450 3rd Qu.: 550.0 3rd Qu.:2.0
 Max. :10.000 Max. :2750.0 Max. :8.0
 Ingresos Empleador Propiedad Modalid
 Min. : 18000 No:226 Min. : 0.0 : 
 1st Qu.: 165000 Si: 34 1st Qu.: 0.0 A Distancia :1
 Median : 270000 Median : 10.0 Presencial : 
 Mean : 386255 Mean : 44.4 Semi Presencial:1
 3rd Qu.: 500000 3rd Qu.:100.0
 Max. :2500000 Max. :100.0
 NA's :1
 Empresa Tipo Sucursales Local
 C.I. :40 Comercio :66 Min. :0.0000 : 2
 Otro :17 Digital :67 1st Qu.:0.0000 No:126
 S.A. :40 Profesional:64 Median :0.0000 Si:132
 S.A.S. :46 Servicios :63 Mean :0.5363
 S.H. :50 3rd Qu.:1.0000
 S.R.L. :40 Max. :4.0000
 Unipersonal:27 NA's :12
 Contribuyente prom.superficie log.superficie
 Exento :76 Min. : 55.0 Min. :4.007
 No inscripto :45 1st Qu.:110.0 1st Qu.:5.288
 Regimen Simplificado :68 Median :195.2 Median :5.703
 Responsable inscripto:71 Mean : Inf Mean :5.818
 3rd Qu.:305.4 3rd Qu.:6.310
 Max. : Inf Max. :7.919
 Capacidad
 Capacidad 1:198
 Capacidad 2: 53
 Capacidad 3: 8
 NA's : 1
Introduccion 15
Función by (version actual) Genera 
summary clasificada por factor
by(info[,58],list(info$Carrera), summary)
Ahi hago un resumen por carrera

Continuar navegando