APLICANDO CONOCIMIENTOS ADQUIRIDOS DE LISTAS Y DATA FRAMES
En este documento se presentan 2 ejercicios de aprendizaje de generación y cálculos con data frames, para la comunidad de RStudio.
AUTORES
COLABORACIÓN
EJERCICIO 1
La tabla presenta la altura, en metros, de los árboles que se encuentran en 4 áreas de terreno
| Área 1 | Área 2 | Área 3 | Área 4 |
|---|---|---|---|
| 7.5 | 12.5 | 11 | 12.5 |
| 12 | 10.5 | 8 | 16 |
| 14.5 | 13 | 7.5 | 9.5 |
| 9 | 9.5 | 10 | |
| 18.5 | 19 | ||
| 14 |
a) Crear 4 vectores numéricos, de tal forma que cada uno guarde la altura de los árboles de cada área de terreno.
area1 <- c(7.5, 12, 14.5, NA, NA, NA)
area1
## [1] 7.5 12.0 14.5 NA NA NA
area2 <- c(12.5, 10.5, 13, 9, 18.5, NA)
area2
## [1] 12.5 10.5 13.0 9.0 18.5 NA
area3 <- c(11, 8, 7.5, 9.5, 19, 14)
area3
## [1] 11.0 8.0 7.5 9.5 19.0 14.0
area4 <- c(12.5, 16, 9.5, 10, NA, NA)
area4
## [1] 12.5 16.0 9.5 10.0 NA NA
area_arboles <- data.frame(area1, area2, area3, area4)
area_arboles
## area1 area2 area3 area4
## 1 7.5 12.5 11.0 12.5
## 2 12.0 10.5 8.0 16.0
## 3 14.5 13.0 7.5 9.5
## 4 NA 9.0 9.5 10.0
## 5 NA 18.5 19.0 NA
## 6 NA NA 14.0 NA
b) Agrupar los 4 vectores generados, en una lista (estructura de datos).
area_arb <- list(area1, area2, area3, area4)
area_arb
## [[1]]
## [1] 7.5 12.0 14.5 NA NA NA
##
## [[2]]
## [1] 12.5 10.5 13.0 9.0 18.5 NA
##
## [[3]]
## [1] 11.0 8.0 7.5 9.5 19.0 14.0
##
## [[4]]
## [1] 12.5 16.0 9.5 10.0 NA NA
c) Determinar, para cada área de terreno, si la altura del primer árbol es mayor a la del último árbol.
may1 <- area_arboles[1,1] > area_arboles[3,1]
may1
## [1] FALSE
may2 <- area_arboles[1,2] > area_arboles[5,2]
may2
## [1] FALSE
may3 <- area_arboles[1,3] > area_arboles[6,3]
may3
## [1] FALSE
may4 <- area_arboles[1,4] > area_arboles[4,4]
may4
## [1] TRUE
d) Determinar el logaritmo decimal de la altura del tercer árbol del área de terreno 3.
loga <- log10(area_arboles[3,3])
loga
## [1] 0.8750613
e) Determinar la suma de las alturas de los 3 primeros árboles del área de terreno 4.
suma_area4 <- (area_arboles[1,4]+area_arboles[2,4]+area_arboles[3,4])
suma_area4
## [1] 38
f) Determinar la altura media de los árboles del área de terreno 1.
media_area1 <- mean(area1[!is.na(area1)])
media_area1
## [1] 11.33333
EJERCICIO 2
La tabla recopila información de 5 pacientes (sexo, presión arterial y pulsos por minuto), atendidos en un hospital.
| Sexo | Presión Arterial | Pulso x Min |
|---|---|---|
| Hombre | 119 | 59 |
| Mujer | 99 | 89 |
| Hombre | 102 | 107 |
| Hombre | 78 | 76 |
| Mujer | 78 | 91 |
a) Elaborar un archivo de tipo texto (txt) que contenga los datos de la tabla anterior.Utilizar el tabulador para separar estos datos respecto de cada variable. Por favor, guardar este archivo en el escritorio de windows y llamarlo hospital.txt
b) Desde R leer el archivo antes mencionado y almacenar su contenido en una variable llamado datos
#file.choose()
datos <- read.table(file = "C:\\Users\\gaby_\\OneDrive\\Escritorio\\Hospital.txt",
header = FALSE, sep = "", dec =".")
datos
## V1 V2 V3
## 1 Hombre 119 59
## 2 Mujer 99 89
## 3 Hombre 102 107
## 4 Hombre 78 76
## 5 Mujer 78 91
head(datos)
## V1 V2 V3
## 1 Hombre 119 59
## 2 Mujer 99 89
## 3 Hombre 102 107
## 4 Hombre 78 76
## 5 Mujer 78 91
names(datos)<- c("Sexo", "Presión Arterial", "Pulso x Min")
datos
## Sexo Presión Arterial Pulso x Min
## 1 Hombre 119 59
## 2 Mujer 99 89
## 3 Hombre 102 107
## 4 Hombre 78 76
## 5 Mujer 78 91
c) Visualizar los valores para las 3 variables para el primer individuo y el cuarto individuo.
datos[1,]
## Sexo Presión Arterial Pulso x Min
## 1 Hombre 119 59
datos[4,]
## Sexo Presión Arterial Pulso x Min
## 4 Hombre 78 76
d) Determinar si la primera mujer (posición 2) tiene una presión arterial mayor que la segunda mujer (ubicada en la posición 5).
premay <- datos[2,2] > datos[5,2]
premay
## [1] TRUE
e) Determinar la media del pulso de los hombres.
pulhombres <- (datos[1,3]+datos[3,3]+datos[4,3])/3
pulhombres
## [1] 80.66667
f) Calcular la raíz cuadrada de la presión arterial del cuarto paciente.
ra4pac <- sqrt(datos[4,2])
ra4pac
## [1] 8.831761