Jornada de Iniciación Científica - Centro Regional de Chiriquí


Tema 1: Conceptos básicos

R es un lenguaje de programación usado para realizar procedimientos estadísticos y gráficos, fue creado en 1993 por los profesores e investigadores Robert Gentleman y Ross Ihaka, miembros del Departamento de Estadístíca de la Universidad de Auckland, en Nueva Zelanda.
Para estas pasos en R, utilizaremos la consola en Rstudio y colocaremos los siguientes datos.

#escribir los siguientes números y dar enter
25+10
## [1] 35

Otros ejemplos de R como calculadora

1+2 #suma
## [1] 3
20*3 #multiplicacion
## [1] 60
50/9 #division
## [1] 5.555556
9-5 #resta
## [1] 4
10%%3 #modulo
## [1] 1
10%/%3 #coeficiente
## [1] 3
9^3 #potencia
## [1] 729

Variables en R

Una variable es una propiedad o característica de un individuo que puede variar su valor y que contiene un dato. A diferencia de los calculos anteriores, estas se almacenan en la pestaña Environment / Data en Rstudio.

nombre<-"danny"
apellido <- "murillo"
estatura<- 1.80
Indice <-2.50
Nota_1<-80
Nota_2<-90
Bo1<- TRUE
Bo2 <- T

Llamado de las variables almacenadas

nombre
## [1] "danny"
apellido
## [1] "murillo"
estatura
## [1] 1.8
Indice 
## [1] 2.5
Nota_1
## [1] 80
Nota_2
## [1] 90
Bo1
## [1] TRUE
Bo2 
## [1] TRUE

Los operadores en R

Son un componente de mucha importancia porque en el caso de las estructura de datos son utilizado spara hacer condiciones para seleccionar un grupo de datos.

#EJEMPLO OPERADORES :
15 > 50
## [1] FALSE
50 == 20 
## [1] FALSE
Bo1==Bo2
## [1] TRUE
Bo2!=Indice
## [1] TRUE

###Estructuras de datos en R Las colecciones o conjunto de datos en R se organizan por su dimensión (1, 2, o varias dimensiones) y si son homogéneas (todos los objetos deben ser del mismo tipo) o heterogéneas ( el contenido puede ser de diferentes tipos).

En esta parte crearemos un archivo en R, para almacenar los códigos.

El uso de la función c() para crear vector atómico, que corresponde a la sigla de combinar:

c(4,2,-8) 
## [1]  4  2 -8
# Vector de cadena de texto
c("animal", "casa", "persona")
## [1] "animal"  "casa"    "persona"
#Crear vector y asignar a una variable
vector1 <- c(1, 2.5, 4.5) 

#llamado de la variable
vector1
## [1] 1.0 2.5 4.5

Crear Vector en R

Un vector tiene el mismo tipo que los datos que contiene. Si tenemos un vector que contiene datos de tipo numérico, el vector será también de tipo numérico por lo que podemos decir que es homogénea.

#cear vector
matematicas <- c(45,70,85,100,1000)  #crear vector 

#imprimir vector 
matematicas
## [1]   45   70   85  100 1000
#seleccionar posición 5
matematicas[5]
## [1] 1000
#seleccionar posición del 3 al 5
matematicas[3:5]
## [1]   85  100 1000
#seleccionar todos los valores, menos el que esta en la posición 2
matematicas[-2]
## [1]   45   85  100 1000
#sumar dos valores de un vector
matematicas[1] + matematicas[2]
## [1] 115
#restar dos valores de un vector
matematicas[3] - matematicas[4]
## [1] -15
#multiplicar dos valores de un vector
matematicas[3] * matematicas[5]
## [1] 85000
#multiplicar todos los valores de un vector por 2
matematicas * 2
## [1]   90  140  170  200 2000

Crear Matriz en R

#Se crean con la función matrix()

#matriz de una columna o vector
matrix(1:8) 
##      [,1]
## [1,]    1
## [2,]    2
## [3,]    3
## [4,]    4
## [5,]    5
## [6,]    6
## [7,]    7
## [8,]    8
#matriz de dos filas y 4 columnas
matrix(1:8, nrow = 2)
##      [,1] [,2] [,3] [,4]
## [1,]    1    3    5    7
## [2,]    2    4    6    8
#matriz de dosc columnas y 4 filas
matrix(1:8, ncol = 2)
##      [,1] [,2]
## [1,]    1    5
## [2,]    2    6
## [3,]    3    7
## [4,]    4    8

Cargar datOs en matrix por columna

#cargar matriz
matrix(1:8, nrow = 2)
##      [,1] [,2] [,3] [,4]
## [1,]    1    3    5    7
## [2,]    2    4    6    8
#Al crear una matrix con los datos del 1 al 8 esta guarda los valores ordenados por columnas. 

Cargar datos en matrix por fila

#cambiar llenado de la matrix por fila utilizando byrow = TRUE
matrix(1:8, nrow = 2, byrow = TRUE)
##      [,1] [,2] [,3] [,4]
## [1,]    1    2    3    4
## [2,]    5    6    7    8

Creación y uso de DataFrames

Los data frames se utilizan en R para almacenar datos en forma de hoja de datos. Cada fila de la hoja de datos corresponde a una observación o valor de una instancia, mientras que cada columna corresponde a un vector que contiene los datos de una variable.

#creación de vectores
nombre <- c("Juan", "Margarita", "Ruben", "Daniel","Susana")
fecha_nacimiento <- c("1976-06-14", "1974-05-07", "1958-12-25", "1983-09-19","1975-07-18")
sexo <- c("M", "F", "M", "M","F")
nro_hijos <- c(1, 2, 3, 1,2)
edad<-c(45,67,34,90,85)

crear dataframes con datos de vectores utilizando la función cbind añadir columnas)

Forma 1 de crear dataFrame con vectores

estudiante<-data.frame(nombre)
estudiante<-cbind(estudiante,fecha_nacimiento)
estudiante<-cbind(estudiante,sexo)
estudiante<-cbind(estudiante,nro_hijos)
estudiante <-cbind(estudiante,edad)

estudiante

Forma 2 de crear dataFrame con vectores

estudiante2<-data.frame(nombre, fecha_nacimiento,sexo,nro_hijos,edad)

estudiante2

Acceder a los datos de un dataframe

# accede a la fila 5, columna 1
estudiante[5, 1] 
## [1] "Susana"
#accede a la columna nombre
estudiante[,"nombre"] 
## [1] "Juan"      "Margarita" "Ruben"     "Daniel"    "Susana"
#accede a la columna nombre , esta es la forma más comun de llamar los datos de una columna
estudiante$nombre 
## [1] "Juan"      "Margarita" "Ruben"     "Daniel"    "Susana"
# accede a la fila 5 y todas las columnas
estudiante[5, ] 
# accede a las datos de todas las fila  de solo la columna 4
estudiante[, 4] 
## [1] 1 2 3 1 2
#accede a la columna nombre , fila 2
estudiante$nombre[2]
## [1] "Margarita"
#accede a todo el dataframe, es igual que colocar solo el nombre 
estudiante[,]

Funciones básicas en R

Los resultados pueden ser una valor o un vector.

#número de filas del dataFrame
nrow(estudiante)
## [1] 5
#número de columnas del dataFrame
ncol(estudiante)
## [1] 5
#sumar una una columna, número de hijos con la función sum()
sum(estudiante$nro_hijos)
## [1] 9
#media de edad son la función mean()
mean(estudiante$edad)
## [1] 64.2
#valor minimo y maximo de una conjunto de datos (columna)
min(estudiante$edad)
## [1] 34
max(estudiante$edad)
## [1] 90
#Devuelve el minimo y el máximo
range(estudiante$nro_hijos)
## [1] 1 3
max(estudiante$edad)
## [1] 90
# calcula el cuadrado de cada dato del campo edad
sqrt(estudiante$edad)
## [1] 6.708204 8.185353 5.830952 9.486833 9.219544

Crear nuevo dataframe de un dataFrame y añadimos una fila con la función cbind()

# Almacenamos el calculo del cuadrado en un vector
edadC <- sqrt(estudiante$edad)
edadC
## [1] 6.708204 8.185353 5.830952 9.486833 9.219544
#creamos un nuevo dataframe y añadimos la nueva columna

estudiante_nuevo<- cbind(estudiante,edadC)
estudiante_nuevo

#Listar los nombres de las columnas de un DataFrame y renombrarlos

#Listar nombres
names(estudiante)
## [1] "nombre"           "fecha_nacimiento" "sexo"             "nro_hijos"       
## [5] "edad"
#cambiar el nombre de una columna
names(estudiante)[1] <-"nombreN"

#cambiar nombre de todas las columnas
names(estudiante)<-c("x1", "x2", "x3", "x4", "x5")