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))