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
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
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
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
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
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
#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 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.
#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
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)
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
# 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[,]
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
# 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")