Documentos de Académico
Documentos de Profesional
Documentos de Cultura
#------------------------------------------------------------------------------------------------------------#
#------------------------------------ CLASE N°2 -- INTRODUCCIÓN A RSTUDIO -----------------------------------#
#------------------------------------------------------------------------------------------------------------#
#------------------------------------------------------------------------------------------------------------#
# install.packages('nombre de la librería')
install.packages('ggplot2')
install.packages('sas7bdat')
install.packages('RODBC')
library('ggplot2')
library('sas7bdat') #librería para leer información en formato SAS
library('readxl') #librería para leer información en formato excel
library('RODBC') #librería para generar conexión con BBDD SQL
#-------------------------------------------CAPITULO 1: OBJETOS-----------------------------------------------
print("HOLA MUNDO")
#1. Cáracter
#2. Numérico (números Reales)
#Ejemplo Básico
1+1
20-10
2*8
15/3
#3. Entero
#4. Complejo
#5. Lógico (True/False)
#Asignación de variables
x<-1000
x=2000
#AHORA SI...
e<-c(2,1,3) #ENTERO
#--------------------------------------------------
d=c(1 + 2i, 3 - 6i) #COMPLEJO
#--------------------------------------------------
e<- vector('logical',length=4) #LOGICO
#--------------------------------------------------
#OPERADORES COMPARATIVOS
# OPERADOR SIGNIFICADO
#> mayor que
#< menor que
# >= mayor o igual que
# <= menor o igual que
# == igual que (NO CONFUNDIR CON '='); SE UTILIZA COMO COMPARACION LOGICA ENTRE 2
OBJETOS
# != distinto que
#OPERADORES LOGICOS
# Corresponden a 'y' 'o' 'no' 'exclusivo'
# OPERADOR SIGNIFICADO
# & Y
# | O
# ! NO
# xor(x,y) EXCLUSIVAMENTE UNO Y NO EL OTRO
#FUNCIONES MATEMATICAS
exp(5)
log(5,base=10)
log10(5)
sqrt(9)
abs(-5)
ceiling(5.8)
floor(5.8)
#--------------------------------------------------FOR--------------------------------------------------------
for (i in c('PEDRO','JUAN','DIEGO','ANDREA','DANIELA')) {
print(paste('Mi nombre es',i))
}
for (i in 1:10) {
print(i)
}
#--------------------------------------------------IF---------------------------------------------------------
#} else if (se evalua siguiente condición, si la primera fue falso, en caso de ser esta verdadera..) {
# SE GENERA OTRA ACCION!
#}
x=-5
if (x>3) { #TENGAN CUIDADO! SIEMPRE SE DEBE CERRAR ENTRE PARÉNTESIS
LA CONDICION A EVALUAR
print('SE GENERA LA PRIMERA ACCION --- x es mayor a 3')
} else if (x==3) {
print('SE GENERA LA SEGUNDA ACCION --- x es igual a 3')
} else if (x<0) {
print('SE GENERA LA CUARTA ACCION.....x es menor a 0')
}
#--------------------------------------------------WHILE------------------------------------------------------
#}
x=2
while (x<6) {
print(x)
x=x+1
}
#--------------------------------------------------BREVE------------------------------------------------------
#--------------------------------------------------REPASO-----------------------------------------------------
#--------------------------------------------------DE---------------------------------------------------------
#--------------------------------------------------VECTORES---------------------------------------------------
#--------------------------------------------------LISTAS-----------------------------------------------------
#--------------------------------------------------MATRICES---------------------------------------------------
#--------------------------------------------------ARREGLOS---------------------------------------------------
#--------------------------------------------------DATAFRAMES-------------------------------------------------
#//////////////////////////////////////////////////VECTOR/////////////////////////////////////////////////////
#El vector contiene sólo objetos de la misma clase; el vector siempre será
#de 1 dimensión (1D). Entiéndase en este caso que c(5,20,33) contiene:
#elemento 1: 5 ; numérico
#elemento 2: 20 ; numérico
#elemento 3: 33 ; numérico
#En el caso que se mezclen distintos tipos de elementos en un solo vector, este realiza una
transformación
#para que todos los elementos del vector sean de la misma clase
a<- c(23,23.1,T,'hola')
a<- c(T,12)
#En este caso el valor lógico T ha sido modificado a numérico entero, es decir, con valor 1
#Un método muy útil es 'as.' que permite cambiar el tipo de objeto del vector
#PRECAUCION! : Se debe tener cuidado al utilizar el comando 'as.', ya que el cambio de un vector de
tipo caracter
#a numérico, puede generar valores nulos
#//////////////////////////////////////////////////LIST////////////////////////////////////////////////////////
#La lista puede contener elementos que no pertenezan a la misma clase. En este caso no se genera una
transformación de
#los elementos
lista<- list('22',22,T,1+2i)
lista[[2]]
lista[2] #esta forma de consultar entre también el index
#Entonces...
lista[2]*2 #NO ES POSIBLE REALIZAR LA OPERACION POR EL INDEX!
lista[[2]]*2 #AHORA SI!
#//////////////////////////////////////////////////MATRIX///////////////////////////////////////////////////////
a=dim(matriz) #este comando permite obtener las dimensiones de la matriz (número de filas, número
de columnas)
#//////////////////////////////////////////////////ARRAY///////////////////////////////////////////////////////
#Corresponden a la clase de objeto que genera objetos que pueden ser de 1D, 2D, 3D, 4D, etc.
Corresponden a objetos multidimensionales
arreglo_cubo<-array(0,dim=c(10,5,6))
arreglo_cubo[1,1,3] #[fila,columna,capa]
#//////////////////////////////////////////////////DATAFRAME///////////////////////////////////////////////////
#Este corresponde al tipo de datos más utilizados, corresponde a una clase de objeto 2D. Se diferencia
del tipo de datos Matriz,
#ya que establece que elementos pueden ser de distinta clase. Esto se acerca más a la realidad respecto
a la información
#que usualmente utilizamos (tablas con información de estado civil, edad, etc)
#Podemos observar que existen 2 tipos de datos, factor y numerica. Factor corresponde a un tipo de
#dato string, el cual R logra codificar automáticamente en dummy (para efectos de agrupar en
estadística descriptiva o modelamiento
#estadístico)
dataframe[1:2,2]<- NA #Se genera valores NaN sobre la columna 2 (Campo Edad), filas 1 y 2
is.na(dataframe)
dataframe[complete.cases(dataframe),] #se seleccionan las filas contienen información
dataframe[!complete.cases(dataframe),] #version negativo, es decir, se seleccionan las filas con algún
valor nulo
#ES IMPORTANTE COMPRENDER QUE EL HECHO DE TENER VALORES NULOS EN COLUMNAS, PUEDE
IMPLICAR QUE ALGUNOS CÁLCULOs,
#POR EJEMPLO, ESTADISTICA DESCRIPTIVA, RETORNE UN VALOR NAN
mean(dataframe$edad)
mean(dataframe$edad, na.rm = T)
dataframe2<- na.omit(dataframe)
#renombramos index
rownames(dataframe2) <- 1:nrow(dataframe2)
#df[df$nombre_columna + con alguna condición,] esto permite extraer TODAS las columnas de las filas
que cumplan
#dicha condición
dataframe[dataframe$nombre=='Italo',]
dataframe[dataframe$edad>29,]
#--------------------------------------------------LECTURA-----------------------------------------------------------
#--------------------------------------------------DE----------------------------------------------------------------
#--------------------------------------------------CSV---------------------------------------------------------------
#--------------------------------------------------LECTURA-----------------------------------------------------------
#--------------------------------------------------DE----------------------------------------------------------------
#--------------------------------------------------SAS7BDAT----------------------------------------------------------
df<-
read.sas7bdat('C:\\Usuario\\user1\\Documents\\CURSO_INTRODUCCION_R\\Tablas\\baseball.sas7bdat')
#--------------------------------------------------LECTURA-----------------------------------------------------------
#--------------------------------------------------DE----------------------------------------------------------------
#--------------------------------------------------EXCEL-------------------------------------------------------------
df<- read_excel(file_choose())
df<- read_excel('C:\\Usuario\\user1Documents\\CURSO_INTRODUCCION_R\\Tablas\\Sample -
Superstore.xls')
#--------------------------------------------------LECTURA-----------------------------------------------------------
#--------------------------------------------------DE----------------------------------------------------------------
#--------------------------------------------------BBDD SQL----------------------------------------------------------
library(RODBC)
dbhandle <- odbcDriverConnect('driver={SQL Server};server=DIRECCION DE
SERVIDOR;database=Nombre_BBDD;trusted_connection=true')
#Cabe mencionar que en este caso se ha generado una conexión mediante el usuario (usuario: #usuario
, password= XXXXXXXXX)