TALLER 1 INFORMATICA MEDICA Punto 1. Realice los siguientes cálculos aritméticos, utilizando el programa R. a).
a=((24/-8+7)/(9-(6*2)))
a
## [1] -1.333333
b).
b=2^3*-7+4-((1/3)+(1/2))
b
## [1] -52.83333
c).
c=(sqrt(16)+5*4-3^-2)/(3*(4-8)+1)
c
## [1] -2.171717
d).
d=(1/2)*((5/4)-2^-1*(13/4)-sqrt(7)+8)/(2-(1/5))-3^2
d
## [1] -7.616875
e).
e=2*sin(pi/3)+5*cos(pi/4)-(tan(pi/6)/4)
e
## [1] 5.123247
f).
f=4*log(5,2)-3*log(7,3)+(1/3)*(log(8))^3
f
## [1] 6.971203
Punto 2Redondee los resultados anteriores. a).
round(a)
## [1] -1
b).
round(b)
## [1] -53
c).
round(c)
## [1] -2
d).
round(d)
## [1] -8
e).
round(e)
## [1] 5
f).
round(f)
## [1] 7
Punto 3Suponga que se toma una muestra de 20 taxistas que laboran en el centro de la ciudad de Cali en 2016. a). Construya dos vectores y denótelos GC y NP para guardar los datos de Gasto de combustible y número de pasajeros.
GC=c(14.2, 8.0, 9.2, 12.1, 8.7, 11.6, 11.0, 12.5, 10.0, 9.0, 8.5, 13.1, 12.9, 8.4, 11.2, 9.8, 12.4, 11.0, 13.0, 8.6)
GC
## [1] 14.2 8.0 9.2 12.1 8.7 11.6 11.0 12.5 10.0 9.0 8.5 13.1 12.9 8.4 11.2
## [16] 9.8 12.4 11.0 13.0 8.6
NP=c(11,10,6,9,10,12,14,10,8,9,11,12,11,11,15,13,12,12,8,13)
NP
## [1] 11 10 6 9 10 12 14 10 8 9 11 12 11 11 15 13 12 12 8 13
b). Calcule la moda, la mediana, la media, desviación estándar, varianza y los cuartiles, para los datos de GC y NP.
"Moda, mediana, media, desviacion estandar, varianza y cuartiles de GC"
## [1] "Moda, mediana, media, desviacion estandar, varianza y cuartiles de GC"
media_GC=mean(GC)
media_GC
## [1] 10.76
mediana_GC=median(GC)
mediana_GC
## [1] 11
varianza_GC=var(GC)
varianza_GC
## [1] 3.666737
desviacion_estandar_GC=sd(GC)
desviacion_estandar_GC
## [1] 1.914873
mode <- function(x) {
return(as.numeric(names(which.max(table(x)))))
}
mode_gc=mode(GC)
mode_gc
## [1] 11
"Moda, mediana, media, desviacion estandar, varianza y cuartiles de NP"
## [1] "Moda, mediana, media, desviacion estandar, varianza y cuartiles de NP"
media_NP=mean(NP)
media_NP
## [1] 10.85
mediana_NP=median(NP)
mediana_NP
## [1] 11
varianza_NP=var(NP)
varianza_NP
## [1] 4.765789
desviacion_estandar_NP=sd(NP)
desviacion_estandar_NP
## [1] 2.183069
Mode_np=mode(NP)
Mode_np
## [1] 11
c). Represente gráficamente las variables GC y NP.
#install.packages("ggplot2")
#install.packages("tidyr")
library(tidyr)
library(ggplot2)
# Crear un data frame
datos <- data.frame(GC, NP)
# Convertir de formato ancho a largo
datos_long <- pivot_longer(datos, cols = c(GC, NP), names_to = "Grupo", values_to = "Valores")
# Histogramas actualizados
# Para GC
ggplot(datos_long, aes(x = Valores)) +
geom_histogram(data = subset(datos_long, Grupo == "GC"), binwidth = 0.5, fill = "skyblue", color = "black") +
geom_vline(aes(xintercept = mean(Valores), group = Grupo), data = subset(datos_long, Grupo == "GC"), color = "red", linetype = "dashed", linewidth = 1) +
geom_vline(aes(xintercept = median(Valores), group = Grupo), data = subset(datos_long, Grupo == "GC"), color = "blue", linetype = "dashed", linewidth = 1) +
labs(title = "Distribución de GC", x = "GC", y = "Frecuencia")
# Para NP
ggplot(datos_long, aes(x = Valores)) +
geom_histogram(data = subset(datos_long, Grupo == "NP"), binwidth = 1, fill = "lightgreen", color = "black") +
geom_vline(aes(xintercept = mean(Valores), group = Grupo), data = subset(datos_long, Grupo == "NP"), color = "red", linetype = "dashed", linewidth = 1) +
geom_vline(aes(xintercept = median(Valores), group = Grupo), data = subset(datos_long, Grupo == "NP"), color = "blue", linetype = "dashed", linewidth = 1) +
labs(title = "Distribución de NP", x = "NP", y = "Frecuencia")
# Boxplot para GC y NP juntos para comparar
ggplot(datos_long, aes(x = Grupo, y = Valores, fill = Grupo)) +
geom_boxplot() +
scale_fill_manual(values = c("skyblue", "lightgreen")) +
labs(title = "Boxplot de GC y NP", x = "", y = "Valores") +
theme_minimal()
Punto 4 De acuerdo con DANE durante el año 2016 en la Ciudad de
Santiago de Cali - Valle se han presentado diferencias en cuanto al
porcentaje de hogares pobres (PHP) y la tasa de mortalidad infantil
(TMI) por cada mil nacidos vivos.
a). Construya dos vectores y denótelos PHP y TMI para guardar los datos de porcentaje de hogares pobres y tasa de mortalidad infantil.
PHP=c(14,24.7,16.4,26,25.7,24.6)
PHP
## [1] 14.0 24.7 16.4 26.0 25.7 24.6
TMI=c(8.8,10.2,8,9.1,8.2,9.4)
TMI
## [1] 8.8 10.2 8.0 9.1 8.2 9.4
b). Calcule la moda, la mediana, la media, desviación e datos de PHP y TMI.
"moda, la mediana, la media, desviación e datos de PHP"
## [1] "moda, la mediana, la media, desviación e datos de PHP"
media_PHP=mean(PHP)
"MEDIA: "
## [1] "MEDIA: "
media_PHP
## [1] 21.9
mediana_PHP=median(PHP)
"MEDIANA: "
## [1] "MEDIANA: "
mediana_PHP
## [1] 24.65
varianza_PHP=var(PHP)
"VARIANZA: "
## [1] "VARIANZA: "
varianza_PHP
## [1] 27.808
desviacion_estandar_PHP=sd(PHP)
"DESVIACION ESTANDAR: "
## [1] "DESVIACION ESTANDAR: "
desviacion_estandar_PHP
## [1] 5.273329
mode_PHP=mode(PHP)
"MODA: "
## [1] "MODA: "
mode_PHP
## [1] 14
"moda, la mediana, la media, desviación e datos de TMI"
## [1] "moda, la mediana, la media, desviación e datos de TMI"
media_TMI=mean(TMI)
"MEDIA: "
## [1] "MEDIA: "
media_TMI
## [1] 8.95
mediana_TMI=median(TMI)
"MEDIANA: "
## [1] "MEDIANA: "
mediana_TMI
## [1] 8.95
varianza_TMI=var(TMI)
"VARIANZA: "
## [1] "VARIANZA: "
varianza_TMI
## [1] 0.655
desviacion_estandar_TMI=sd(TMI)
"DESVIACION ESTANDAR: "
## [1] "DESVIACION ESTANDAR: "
desviacion_estandar_TMI
## [1] 0.8093207
mode_TMI=mode(TMI)
"MODA: "
## [1] "MODA: "
mode_TMI
## [1] 8
c). Represente gráficamente las variables PHP y TMI.
# Crear un data frame unificado para facilitar la graficación
datos <- data.frame(Valor = c(PHP, TMI),
Grupo = factor(rep(c("PHP", "TMI"), times = c(length(PHP), length(TMI)))))
# Histogramas
ggplot(datos, aes(x = Valor, fill = Grupo)) +
geom_histogram(position = "identity", alpha = 0.5, bins = 10) +
labs(title = "Histograma de PHP y TMI", x = "Valor", y = "Frecuencia") +
scale_fill_manual(values = c("blue", "red")) +
theme_minimal()
# Boxplots
ggplot(datos, aes(x = Grupo, y = Valor, fill = Grupo)) +
geom_boxplot() +
labs(title = "Boxplot de PHP y TMI", x = "", y = "Valor") +
scale_fill_manual(values = c("blue", "red")) +
theme_minimal()
Punto 5 Considere el siguiente cuadro referido a un grupo de estudiantes universitarios en cuanto a su género y estado conyugal.
a). Construya la tabla anterior mediante el programa R.
# Crear los datos
datos <- data.frame(
Genero = c(rep("Masculino", 3), rep("Femenino", 3)),
EstadoConyugal = c("Casado", "Soltero", "Otro", "Casado", "Soltero", "Otro"),
Frecuencia = c(8, 14, 5, 12, 9, 10)
)
# Mostrar los datos en formato de data frame
print(datos)
## Genero EstadoConyugal Frecuencia
## 1 Masculino Casado 8
## 2 Masculino Soltero 14
## 3 Masculino Otro 5
## 4 Femenino Casado 12
## 5 Femenino Soltero 9
## 6 Femenino Otro 10
# Crear una tabla de contigencia
tabla <- xtabs(Frecuencia ~ Genero + EstadoConyugal, data = datos)
print(tabla)
## EstadoConyugal
## Genero Casado Otro Soltero
## Femenino 12 10 9
## Masculino 8 5 14
b). Represente gráficamente la tabla anterior (realice al menos dos gráficos diferentes).
Opcion 1. grafico de barras
# Gráfico de barras
library(ggplot2)
ggplot(datos, aes(x = EstadoConyugal, y = Frecuencia, fill = Genero)) +
geom_bar(stat = "identity", position = "dodge") +
theme_minimal() +
labs(title = "Distribución de Estado Conyugal por Género", x = "Estado Conyugal", y = "Frecuencia")
Opcion 2. Grafico de puntos
library(ggplot2)
ggplot(datos, aes(x = EstadoConyugal, y = Frecuencia, color = Genero)) +
geom_point(aes(size = Frecuencia), show.legend = FALSE) +
geom_line(aes(group = Genero), linetype = "dashed") +
theme_minimal() +
labs(title = "Distribución de Estado Conyugal por Género", x = "Estado Conyugal", y = "Frecuencia", color = "Género") +
scale_size(range = c(3,10))