Construir un data.frame a partir de un conjunto de vectores y analizar descriptivamente el conjunto de datos.
Crear un vector caracter de 10 nombres diferentes
nombres <- c("Juan", "Pedro", "Luis", "Aracely", "Rubén", "Linda", "Brenda", "Lucy", "Liliana", "Aracely")
Crear un vector numérico de 10 edades diferentes o repetidos
edades <- c(24, 34, 51, 32, 45, 30, 43, 54, 54, 23)
Crear un vector de caracter 10 géneros entre M o F Masculino o Femenino
generos <- c('M', "M", "M", "F", "M", "F", "F", "F", "F", "F")
Crear un vector de 10 elementos en donde se almacene en un tipo de dato lógico (TRUE | FALSE) el estado de si una persona está feliz o no está feliz .
feliz <- c(TRUE, FALSE, TRUE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE)
Crear un vector de 10 elementos de tipo real para conocer la estatura de una persona
estaturas <- c(1.65, 1.70, 1.54, 1.72, 1.70, 1.80, 1.90, 1.75, 1.72, 1.65)
Crear un vector de 10 elementos para saber el peso e en kgs. de una persona
pesos <- c(80, 70, 75, 60, 65, 70, 86, 90, 50, 76)
Crear un vector de 10 elementos para identificar la zona geográfica den donde vive una persona de entre (CENTRO, SUR, NORTE,ORIENTE,PONIENTE)
zonas <- c("CENTRO", "SUR", "SUR", "CENTRO", "ORIENTE", "PONIENTE", "CENTRO", "SUR", "PONIENTE", "CENTRO")
Construir un data frame llamado datos partir de los vectores
datos <- data.frame(nombres, edades, generos, feliz, estaturas, pesos, zonas )
datos
## nombres edades generos feliz estaturas pesos zonas
## 1 Juan 24 M TRUE 1.65 80 CENTRO
## 2 Pedro 34 M FALSE 1.70 70 SUR
## 3 Luis 51 M TRUE 1.54 75 SUR
## 4 Aracely 32 F TRUE 1.72 60 CENTRO
## 5 Rubén 45 M FALSE 1.70 65 ORIENTE
## 6 Linda 30 F TRUE 1.80 70 PONIENTE
## 7 Brenda 43 F FALSE 1.90 86 CENTRO
## 8 Lucy 54 F TRUE 1.75 90 SUR
## 9 Liliana 54 F FALSE 1.72 50 PONIENTE
## 10 Aracely 23 F TRUE 1.65 76 CENTRO
Determinar el número de observaciones con nrow() y length()
nrow cuenta el numero de registros u observaciones de un data.frame.
length() cuenta los elementos de un vector.
nrow(datos)
## [1] 10
length(edades)
## [1] 10
which() evalúa la expresión de objeto (vector) y determina el resultado con la posición de los elementos que cumplan con la condición de la expresión
which(edades > 25)
## [1] 2 3 4 5 6 7 8 9
Conocer las edades que son por encima de 25
edades[which(edades > 25)]
## [1] 34 51 32 45 30 43 54 54
Identificar los nombres de las personas que tienen edad mayor a 25
datos$nombres[which(datos$edades > 25)]
## [1] "Pedro" "Luis" "Aracely" "Rubén" "Linda" "Brenda" "Lucy"
## [8] "Liliana"
Accediendo a valores de columnas y renglones
datos[1,] # Renglon, Columna
## nombres edades generos feliz estaturas pesos zonas
## 1 Juan 24 M TRUE 1.65 80 CENTRO
datos[,1:2] # Renglon, Columna
## nombres edades
## 1 Juan 24
## 2 Pedro 34
## 3 Luis 51
## 4 Aracely 32
## 5 Rubén 45
## 6 Linda 30
## 7 Brenda 43
## 8 Lucy 54
## 9 Liliana 54
## 10 Aracely 23
datos[2:4,1]
## [1] "Pedro" "Luis" "Aracely"
datos[2:4,c(1,4,6)]
## nombres feliz pesos
## 2 Pedro FALSE 70
## 3 Luis TRUE 75
## 4 Aracely TRUE 60
datos$nombres
## [1] "Juan" "Pedro" "Luis" "Aracely" "Rubén" "Linda" "Brenda"
## [8] "Lucy" "Liliana" "Aracely"
datos$edades[4:3]
## [1] 32 51
Devuelve la posición de los valores máximos y mínimos de un vector
edades[which.max(edades)]
## [1] 54
edades[which.min(edades)]
## [1] 23
datos[which.max(datos$edades), ]
## nombres edades generos feliz estaturas pesos zonas
## 8 Lucy 54 F TRUE 1.75 90 SUR
Filtrar de un data frame un subconjunto de registros a partir de una expresión
Registros con edades mayores a 30
mayores30 <- subset(datos, edades >30)
mayores30
## nombres edades generos feliz estaturas pesos zonas
## 2 Pedro 34 M FALSE 1.70 70 SUR
## 3 Luis 51 M TRUE 1.54 75 SUR
## 4 Aracely 32 F TRUE 1.72 60 CENTRO
## 5 Rubén 45 M FALSE 1.70 65 ORIENTE
## 7 Brenda 43 F FALSE 1.90 86 CENTRO
## 8 Lucy 54 F TRUE 1.75 90 SUR
## 9 Liliana 54 F FALSE 1.72 50 PONIENTE
Registros con edades entre 30 y 40. Mayor que 30 y menor o igual que 40.
subset(datos, edades >30 & edades <=40)
## nombres edades generos feliz estaturas pesos zonas
## 2 Pedro 34 M FALSE 1.70 70 SUR
## 4 Aracely 32 F TRUE 1.72 60 CENTRO
names() identifica o permite poner o modificar los nombres de columnas de un data frame.
colnames() hace los mismos que names()
rownames() identifica o poner los nobres de registros.
Reconocer las funciomnes names() colnames() rownames()
names(datos)
## [1] "nombres" "edades" "generos" "feliz" "estaturas" "pesos"
## [7] "zonas"
names(datos)[3]
## [1] "generos"
colnames(datos)[4] <- c("felices")
names(datos)
## [1] "nombres" "edades" "generos" "felices" "estaturas" "pesos"
## [7] "zonas"
¿Cuáles y cuántos son del género femenino y del género masculino?
¿Cuáles y cuántas personas están entre 20 y 25 años?
¿Cuáles y cuántas personas viven en zona CENTRO ?
¿Cuál es el valor medio y la dispersión de la variable edad de las personas?
¿Cuál es el valor medio y la dispersión de la variable altura de las personas?
¿Cuál es el valor medio y la dispersión de la variable peso de las personas?