0% encontró este documento útil (0 votos)
27 vistas20 páginas

Curso Completo de Manejo de Datos en R

Este documento presenta una introducción al lenguaje de programación R. Explica que R es un software libre para análisis estadístico y generación de gráficos. Describe cómo instalar R y R Studio, y proporciona ejemplos básicos de comandos en R como operaciones aritméticas, funciones, tipos de datos como vectores y matrices. El documento también explica conceptos como objetos, factores y estructuras de datos en R.

Cargado por

Jony Chávez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas20 páginas

Curso Completo de Manejo de Datos en R

Este documento presenta una introducción al lenguaje de programación R. Explica que R es un software libre para análisis estadístico y generación de gráficos. Describe cómo instalar R y R Studio, y proporciona ejemplos básicos de comandos en R como operaciones aritméticas, funciones, tipos de datos como vectores y matrices. El documento también explica conceptos como objetos, factores y estructuras de datos en R.

Cargado por

Jony Chávez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Curso:

Manejo de bases de datos en R


Conceptos introductorios
M.I. Alejandra Vázquez de los Monteros
M.I. Ann Wellens
Dr. Wulfrano Gómez Gallardo

Enero 2020

CONTENIDO

1. ¿Qué es R?
2. Ventajas y desventajas de R
3. Instalación de R y R Studio
4. Tutoriales y apoyos en Internet
5. Comandos en R (primeros pasos)
6. Uso de R como calculadora
7. Objetos en R
8. Funciones
9. Tipos y estructura de datos
9.1. Vectores
9.2. Factores
9.3. Matrices
9.4. Arreglos
9.5. Data frames
9.6. Listas

1
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

1. ¿Qué es R?

• R es un entorno y un lenguaje de programación orientado al cálculo


estadístico y generación de gráficos.
• Este software provee un acceso relativamente sencillo a una amplia
variedad de técnicas estadísticas y gráficas.
• Se caracteriza por ser un software libre, lo que significa que no
tiene costo en su descarga, uso y distribución e incluso
modificación.
• R es uno de los lenguajes de programación más importantes hoy en
día, cuya competencia podría considerarse Excel, Phyton, SPSS y
STATA.
• Se parece a Matlab y su sintaxis recuerda a C / C++
• R fue desarrollado inicialmente por Ross Ihaka y Robert Gentleman
en 1995 dentro de la Universidad de Auckland, Nueva Zelanda, y
actualmente se encuentra en desarrollo constante por el R
Development Core Team.
• Sin embargo, la versión beta más estable fue lanzada sino hasta el
año 2000.

2. Ventajas y desventajas de R

• Es un software libre
• No hay responsabilidad en caso de errores en el código.
• Es uno de los primeros lenguajes en recibir los nuevos temas.
• Es muy posible que tenga que ser corregidos con el paso del
tiempo.
• Es un lenguaje que facilita la iteración y la implementación de
rutinas. Cuesta trabajo aprender dichas sentencias o rutinas.
• Tiene fácil conectividad compatibilidad con otros lenguajes de
programación.
• No tiene límite (teórico) en la lectura de bases de datos.
• Suele volverse más lento el análisis con grandes bases de datos.
2
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

3. Instalación de R

• Primero ver las características del sistema operativo

• Depende del sistema operativo, pero todo se puede encontrar en


https://www.r-project.org/

3
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

• Después de elegir el idioma, aceptar los términos

• Al finalizar la instalación buscar la carpeta

4
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

• Se puede iniciar desde la carpeta de aplicaciones

• Para facilitar el proceso de información y librerías es


conveniente utilizar RStudio cuya interacción es más amigable.
• R Studio es un ambiente de desarrollo integrado (Integrated
Development Environment) que con ayuda de una consola, un
editor de código intuitivo, herramientas especiales de edición,
visor de gráficos, entre otros; permite programar en R de una
manera fácil y más cómoda.
• Se descarga en https://www.rstudio.com/

5
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

• En el escritorio se verán los dos íconos, se accede con RStudio.

6
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

4. Tutoriales y apoyos en Internet

• Manual de referencia https://cran.r-project.org/doc/manuals/r-release/R-


intro.pdf
• https://www.statmethods.net/index.html
• https://www.coursera.org/https://rpubs.com/

5. Primeros comandos en R (se pueden copiar tal cual dentro de R en un nuevo


script y ejecutar con “Run”)
(Ojo: R es sensible a mayúsculas y minúsculas)

#Licencia de R
license()

#Contribuyentes
contributors()

#Cita
citation()

#Ayuda
help()
help.start()
?

#Ejemplos rápidos
demo()
demo(graphics.off())
demo(persp())
demo(lm.glm)

#Salir del programa


q()

#Lista de objetos
ls()

#Eliminar objetos específicos


rm()
7
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

6. Uso de R como calculadora

#Suma
5+5

#Resta
8-3

#Multiplicación
6*5

#Divisiones
7/5

#Módulo
8%%2

#Parte entera de la división


6%/%3

#Exponentes
4^5

#Menor que
6<9
7<2

#Mayor que
7>5
10>1

#Menor o igual que


5<=7
5<=5
5<=1

#Igual
10==11

#Diferente
2!=3
8
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

#Raíz cuadrada
sqrt(144)

#Signo
sign(1)
sign(0)
sign(-1)
sign(-10)
sign(10)

#Valor absoluto
abs(1)
abs(-1)

#Redondear hacia abajo


floor(1.4)
floor(1.9)

#Redondear hacia arriba


ceiling(1.4)
ceiling(1.9)

#Truncar
trunc(1.8564)

#Redondear
round(1.8564,3)

#Significancia
signif(1.574309463,4)

#Logaritmo natural
log(exp(1))

#Logaritmo base 10
log10(10)

#Logaritmo base 2
log2(2)

9
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

#Logaritmo base 1.71828


log1p(1.718282)

#Logaritmo genérico, cualquier base


log(3,3)

#Exponencial
exp(2)

#Factorial
factorial(5)

#Valor de pi
pi

#Seno
sin(2*pi)
sinpi(2)

#Coseno
cos(2*pi)
cospi(2)

#Tangente
tan(2*pi)
tanpi(2)

#Arcocoseno
acos(1)

#Arcoseno
asin(0)

#Arcotangente
atan(1)

#Funciones hiperbólicas
sinh(1)
cosh(1)
tanh(1)
acosh(2)
10
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

asinh(2)
atanh(2)
atanh(1)
atanh(1/2)

#Convertir ángulos a radianes y calcular el seno


sin(c(0, 30, 45, 60, 90)*pi/180)

#Complejos
5+3i
1i*1i
Re(1+3i)
Re(2i)
Im(3+1i)
Im(2)
Mod(1i)
Mod(1+1i)
Mod(7)
Arg(3i)
Arg(3)
Arg(2+7i)
Conj(1i)
Conj(4)
Conj(4+8i)

7. Objetos en R

#Objeto simple numérico


a<-1
b=4

#Objeto simple texto


#Siempre debe ir entre comillas los archivos de tipo texto
c1<-Hola #error
c< -"Hola"
d="Mundo"

#Objeto lógico
e<-TRUE
f=F
11
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

8. Funciones (llevan “=” a)


#Función desde:hasta
7:35
a=7:35

#Función secuencia
seq(from=7, to=38, by=3)
c=seq(from=12, to=50)
c=seq(from=100, to=10, by=-10)
d=seq(from=1, to=10, by=0.1)

9. Tipos y estructura de datos en r


9.1. Vectores
#La estructura de datos más simple es el vector, que es una colección ordenada de
números o cadenas de texto
v1 <- c(10.4, 5.6, 3.1, 6.4, 21.7)
v1

v2<- c("perro", "gato","pez", "hamster")


v2

#Double (numérico decimal)


x1<- c(1.2)

# Convertirlo a entero
x1b <- as.integer(x1)
x1b

# Entero
x2<- c(2L)

#Character
x3<-c("Futbol Pumas")

#Lógico
my_logical <- TRUE
x1;x2;x3;my_logical

typeof(x1); typeof(x2); typeof(x3) #Obtiene el tipo de datos


12
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

class(x1); class(x2); class(x3) #Obtiene el tipo de datos

#Para verificar el tipo de objeto


is.numeric("42")
is.numeric(13)
is.integer(1.78)
is.logical(30<0)
is.logical(F)
is.character(4)
is.character("¿Qué tal?")
is.na(7/2)
is.na(7/0)

#También se puede transformar el tipo del objeto


as.character(12)
as.numeric("34")
as.logical(1)
d1=c(12,"a",F)
as.numeric(d1)
rep(c(T,F),12)

#Vector numérico
x<-c(1,2,3,4)

#Vector de texto
y<-c("R","S","T","W")

#Vector lógico
z<-c(T,F,F,T)

#Se crean dos vectores


x<-c(1,2,3)
y<-c(4,5,6)

#Combinación de dos vectores


z<-c(x,y)

#Error
z[1,3,5]

#Devuelve los elementos del vector colocados en las entradas dadas (por ejemplo
13
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

1,3,5)
z[c(1,3,5)]
z=z*6

#Para obtener las entradas del vector correspondiente


z[c(1,3,5)]

#Datos condicionados de un vector


z[z>10]
z[z<15]

#Error: no acepta intervalos declarados de esta manera


z[18>z>1]

#Pero si de esta forma


z[z>1&z<18]
z[z>1|z<18]

#Actualiza el vector completo


z=z/6

#Regresa solo los elementos de x o y


z[x]
z[y]

9.2. Factores
estado <- factor(c("Aguascalientes", "Zacatecas", "Puebla", "Morelos", "Durango",
"Jalisco", "Chihuahua", "Tlaxcala", "Tabasco", "Yucatan", "Zacatecas", "Puebla",
"Morelos", "Durango", "Jalisco", "Chihuahua", "Tlaxcala", "Colima",
("Aguascalientes", "Zacatecas", "Puebla", "Morelos", "Durango", "Jalisco",
"Chihuahua"))
estado
typeof(estado)
Unclass(estado)

9.3. Matrices
matriz1<- matrix(data=seq(1,9),nrow=4,ncol= 3,byrow=TRUE)

#Matriz vertical (Mnx1)


M1=matrix(1:6)
14
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

M1

#Matriz General (Mn x m)


M2=matrix(1:6,nrow=2)
M2
M3=matrix(1:6,nrow=2,byrow=TRUE)
M3
M=matrix(1:6,nrow=3)
M

#Numero de datos en una matriz


length(M)

#Tipo de matriz
mode(M)

#Dimensión
dim(M)

#Buscar el nombre o etiqueta de nuestras columnas y renglones rownames(M)<-


c("Hugo","Paco","Luis")
colnames(M)<-c("Edad","Estatura")
dimnames(M)<-list(c("Hugo","Paco","Luis"),c("Edad","Estatura")) y1=1:24
x1=matrix(1:24,nrow=1,byrow=T)
y1[1]
x1[1,1]

#Concatenación de columnas
cbind(M3,c(1,4))

#Concatenación por renglón


rbind(M,c(7,8))

#Transponer
t(M1)

#Producto matricial
MC<- 1%*%t(M1)

#Inversa
solve(matrix(1:4,nrow=2))
15
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

#Solución de un sistema de ecuaciones


solve(matrix(1:4,nrow=2),c(1,-1))

#Matrix diagonal
diag(1:4)

#Determinante
det(diag(1:4))

#Creacion de una matriz


matriz1<- matrix(data=seq(1,9),nrow=4,ncol= 3,byrow=TRUE)

#Referencia a un dato de la matriz


matriz1[,1]

#Muestra el renglón 1
matriz1[1,] #muestra la columna 1
matriz1[1:2, 2:3] #muestra las filas 1 y 2, con las columnas 2 y 3

#Ejemplo
datos<-matrix(c(20,65,174,22,70,180,19,68,170), nrow = 3, byrow=T) datos
dimnames(datos)<list(c("Hugo","Paco","Luis"),c("edad","peso","estatura"))
datos

#Regresa todos los elementos del renglon (obs) dado


#por nombre de sujeto
datos["Hugo",]
datos["Luis",]

#Extraer por numero de renglón


datos[1,]

#Extraer una columna


datos["paco",]
datos[2,"estatura"]

#Extracción de más de una variable u observación datos[,c("edad","estatura")]


datos[c("hugo","luis"),]

#Extraccion de los nombres de reglones y columnas


16
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

dimnames(datos)
colnames(datos)
rownames(datos)

9.4. Arreglos
#Array(datos,c(# de renglomes,# de columnas,# de matrices)) array(1:12,c(2,3,2))
array(1:12,c(4,3,1))
array(1:11,c(2,2,3))

#Matrices simultaneas
dat<-array(c(45,46,65,55,170,167,48,49,68,56,169,165),c(2,3,2))
dat
dimnames(dat)<-list(SEXO = c("hombres","mujeres"), c("edad","peso","estatura"),
c("CDMX","EdoMex "))
dat

#Extraccion de etiquetas
dimnames(dat)

#Extraccion de matrices
dat[,,"EdoMex"]
dat[,,"CDMX"]

#Extracción de columnas y renglones dat["hombres",,]


dat[,"peso",]

#Extraccion de más de una variable u observación dat[,c("edad","estatura"),]

9.5. Data frame


pers <- data.frame(tipo=c("gen0", "genB", "genZ"), subj1=c(10, 25, 33),
subj2=c(NA, 34, 15), oncogen=c(TRUE, TRUE, FALSE), loc=c(1, 30, 125))

#Una matriz se puede convertir a dataframe y asignarles nombre a las columnas


datos<-as.data.frame(matriz1)
datos
names(datos)<-c(“Santiago”, “Roberto”, “Mauricio”)
datos

#Acceder a la información de una columna


columna1<-datos$Santiago columna1
17
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

9.6. Listas
una.lista<-c(un.vector=1:10, una.palabra="hola", una.matriz=matrix(rnorm(20),
ncol=5))
una.lista
lista1<-c(b=factor(c("a", "b", "a"))) lista1
lista2<-c(a=5, b=factor(c("a", "b", "c"))) lista2
estado<-factor(c("Morelos", "Jalisco", "Hidalgo", "Jalisco", "Hidalgo")) estado

#Reemplazar o actualizar uno o varios elementos


x[1]=0
x x[c(1,3)]=9

#Valores faltantes
=c(1,5,9,NA,5,NA,0)
f

#Detecta los elementos vacios o faltantes del vector


is.na(f)

#Elimina los elementos vacios del vector


f<-f[!is.na(f)]
f

#Función de longitud de un vector


length(f)

#Mínimo
min(f)

#Máximo
max(f)

#Media o promedio
mean(f)

#Crea un vector de tipo carácter


v=c("a","d","g","h","a","x","V","a","d","g","h","a","x","V")
v length(v)

18
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

#Crear un vector para hacer análisis de sus elementos


v1=as.factor(v)

#Se extraen los elementos del vector sin repetir


levels(v1)

#Me dice cuantos elementos hay de cada elemento del vector summary(v1)

#Generar un vector numérico


estaturas<-c(1.7,1.5,1.9,2,1.45,1.7,1.5,1.9,2,1.45,1.68,1.6,1.45,1.72)
length(estaturas)

#Hace un analisis por clase, en este caso calcula la media tapply(estaturas, v1, mean)

#Ordenar vectores numericos #ordena en orden ascendente estaturas=sort(estaruras)


estaturas

#Ordena en orden decreciente


e1=sort(estaruras,decreasing = TRUE); e1

#Ordenar vector tipo caracter


calidad = c("media","baja","media","alta","media","baja","alta","baja")

#Le decimos que baja es el minimo de calidad, media es el intermedio y alta es la


maxima calidad
calidad1=ordered(calidad,c("baja","media","alta"))
calidad1

#Ordena de manera ascendente


sort(calidad1)

#Ordena de manera descendente


sort(calidad1, decreasing=TRUE)

#Listas
x1<-c(1.2)
lista1<-list(vector=x1, matriz=matriz1, dataframe=datos)
lista1
names(lista1)
lista1$matriz #muestra los elementos de la matriz
lista1[[2]] #muestra los elementos de la matriz
19
Curso: Manejo de datos en R
M.I. Ann Wellens & Dr. Wulfrano Gómez Gallardo Enero 2020

lista1[[2]][1,] #muestra el contenido del renglón 1 de la matriz lista1[[4]]<-


c(“nvo_objeto”) #agrega un objeto a la lista
lista1
familia<- list(padre="Juan", madre="María", edad_padres=c(30,29), num_hijos=3,
nom_hijos=c("Axel", "Damian", "Tania"), edad_hijos=c(7, 5, 3), ciudad="Madrid")
familia

#Regresa el nombre de las "variables"


names(familia)

#Extracción de datos
familia$padre familia$edad_hijos familia[[1]]
familia[[3]]

#Error, pues en listas no acepta extracción simultanea


familia[[c(1,3)]]

#Esta es la forma correcta de haces extracciones de más de un elemento


familia[c(1,3)]
familia[c(4,5,6)]

20

También podría gustarte