1. ACTIVIDADES 2.1 Construya una base de datos de veinte (20) historias clínicas con los siguientes campos: 2.1.1. Identidad de Pacientes: (Número de Cédula, Nombres del paciente, Apellidos del paciente, Edad, Sexo, Domicilio, Ciudad, Departamento, Número de teléfono, Número de historial clínico, Fumante(S/N)) 2.1.2. Proceso de Ingreso a la entidad: (Procedencia, Fecha de ingreso, Número de piso, Número de cama, Causa de Ingreso)
historiaclinica = data.frame(
  
  Nrocedula = sprintf("%010d", sample(10000000:99999999, 20, replace = FALSE)),
  
Nombre= c("Wilson", "Estela", "Luis", "Ana", "Maria", "Carlos", "Laura", "Jose", "Isabel", "Juan", "Carmen", "Fernando", "Elena", "Andres", "Sofia", "Pedro", "Monica", "Ricardo", "Valeria", "Diego"),

Apellido = c("Gonzalez", "Rodriguez", "Lopez", "Perez", "Martinez", "Sanchez", "Romero", "Fernandez", "Torres", "Gomez", "Diaz", "Vargas", "Jimenez", "Ruiz", "Ramirez", "Hernandez", "Garcia", "Silva", "Ortega", "Castro"),

Edad = sample(18:90, 20, replace = TRUE),

Sexo = sample(c("M", "F"), 20, replace = TRUE),

Domicilio = paste(sample(c("Calle", "Avenida", "Carrera"), 1), sample(100:999, 20), " # ", sample(1:100, 20), sep = " "),

Cuidad = c("Cali", "Cali", "Bogota", "Medellin", "Cali", "Cali", "Bogota", "Medellin", "Cali", "Neiva", "Bogota", "Cali", "Tunja", "Medellin", "Cali", "Bogota", "Cali", "Medellin", "Cali", "Medellin"),

Departamento = c("Valle del Cauca", "Valle del Cauca", "Bogota, D.C.", "Antioquia", "Valle del Cauca", "Valle del Cauca", "Bogota, D.C.", "Antioquia", "Valle del Cauca", "Huila", "Bogota, D.C.", "Valle del Cauca", "Boyaca", "Antioquia", "Valle del Cauca", "Bogota, D.C.", "Valle del Cauca", "Antioquia", "Valle del Cauca", "Antioquia"),

Telefono = paste("3", sample(1000000:9999999, 20), sep = ""),

Nrohistorial = c(1:20),

Fumante = sample(c("S", "N"), 20, replace = TRUE),

Procedencia = sample(c("Emergencia", "Consulta Externa", "Traslado", "Referido"), 20, replace = TRUE),

Fecha_ingreso = sample(seq(as.Date('2020/01/01'), as.Date('2024/12/31'), by="day"), 20),

Nropiso = sample(1:5, 20, replace = TRUE),

  Nrocama = sample(1:30, 20, replace = TRUE),

  Causa = sample(c("Infarto", "Accidente", "Infección", "Problema Respiratorio", "Cirugía"), 20, replace = TRUE)


)
 
historiaclinica   
##     Nrocedula   Nombre  Apellido Edad Sexo        Domicilio   Cuidad
## 1  0049977831   Wilson  Gonzalez   28    M Calle 958  #  61     Cali
## 2  0016829098   Estela Rodriguez   86    F Calle 653  #  17     Cali
## 3  0098890522     Luis     Lopez   53    F Calle 556  #  85   Bogota
## 4  0020311353      Ana     Perez   72    F Calle 483  #  64 Medellin
## 5  0073495264    Maria  Martinez   56    F Calle 350  #  58     Cali
## 6  0087636890   Carlos   Sanchez   18    F  Calle 179  #  3     Cali
## 7  0093820204    Laura    Romero   26    F  Calle 885  #  1   Bogota
## 8  0050335160     Jose Fernandez   53    F Calle 461  #  55 Medellin
## 9  0054325163   Isabel    Torres   80    M  Calle 376  #  2     Cali
## 10 0080960325     Juan     Gomez   47    M Calle 210  #  80    Neiva
## 11 0058979760   Carmen      Diaz   61    F Calle 356  #  31   Bogota
## 12 0056251958 Fernando    Vargas   63    F  Calle 184  #  4     Cali
## 13 0051298680    Elena   Jimenez   60    M Calle 204  #  56    Tunja
## 14 0092817459   Andres      Ruiz   50    M Calle 325  #  71 Medellin
## 15 0025160925    Sofia   Ramirez   81    F Calle 393  #  38     Cali
## 16 0050359831    Pedro Hernandez   21    F Calle 488  #  46   Bogota
## 17 0054882642   Monica    Garcia   88    F Calle 468  #  91     Cali
## 18 0016998859  Ricardo     Silva   59    M Calle 654  #  42 Medellin
## 19 0081098524  Valeria    Ortega   26    M Calle 364  #  78     Cali
## 20 0083688729    Diego    Castro   62    F Calle 428  #  22 Medellin
##       Departamento Telefono Nrohistorial Fumante      Procedencia Fecha_ingreso
## 1  Valle del Cauca 37505532            1       N         Referido    2020-07-26
## 2  Valle del Cauca 39770854            2       N         Referido    2024-07-15
## 3     Bogota, D.C. 36567963            3       N         Traslado    2020-05-13
## 4        Antioquia 32352403            4       N Consulta Externa    2023-01-10
## 5  Valle del Cauca 37490193            5       S         Traslado    2023-03-04
## 6  Valle del Cauca 34937384            6       S Consulta Externa    2021-10-27
## 7     Bogota, D.C. 33510738            7       N       Emergencia    2022-05-25
## 8        Antioquia 36079909            8       S         Referido    2024-04-24
## 9  Valle del Cauca 39039127            9       S Consulta Externa    2024-06-13
## 10           Huila 36477226           10       S         Traslado    2020-02-12
## 11    Bogota, D.C. 37576048           11       N Consulta Externa    2024-02-27
## 12 Valle del Cauca 32344788           12       S         Traslado    2021-10-01
## 13          Boyaca 34301937           13       N       Emergencia    2021-09-04
## 14       Antioquia 31296523           14       S Consulta Externa    2020-07-29
## 15 Valle del Cauca 35912043           15       N         Traslado    2020-02-22
## 16    Bogota, D.C. 35398464           16       N Consulta Externa    2023-06-12
## 17 Valle del Cauca 33939532           17       S Consulta Externa    2020-01-03
## 18       Antioquia 35868747           18       N         Traslado    2021-12-05
## 19 Valle del Cauca 35344622           19       S       Emergencia    2023-06-09
## 20       Antioquia 38810291           20       N         Traslado    2020-09-25
##    Nropiso Nrocama                 Causa
## 1        1      13               Cirugía
## 2        2      27               Infarto
## 3        4       5             Accidente
## 4        4      30             Accidente
## 5        2      21             Infección
## 6        5      21 Problema Respiratorio
## 7        4      23             Infección
## 8        3      30             Infección
## 9        1      25 Problema Respiratorio
## 10       1      11             Accidente
## 11       1      11               Infarto
## 12       4      19             Accidente
## 13       2      16             Accidente
## 14       2       6             Accidente
## 15       2      15               Infarto
## 16       5      20 Problema Respiratorio
## 17       3      12             Infección
## 18       4      25               Infarto
## 19       2      18 Problema Respiratorio
## 20       2      14             Infección

2.2. Por medio de informe gráfico clasifique por: a) Pacientes mujeres y Hombres

library(ggplot2)

ggplot(historiaclinica, aes(x = Sexo, fill = Sexo)) +
  geom_bar() +
  labs(title = "Distribución de pacientes por sexo", x = "Sexo", y = "Cantidad de pacientes")

b) edad y si es fumante o no

ggplot(historiaclinica, aes(x = Edad, fill = Fumante)) +
  geom_histogram(binwidth = 5, position = "dodge") +
  labs(title = "Distribución de edad por hábito de fumar", x = "Edad", y = "Cantidad de pacientes")

c) Pacientes por piso divididos por sexo

ggplot(historiaclinica, aes(x = factor(Nropiso), fill = Sexo)) +
  geom_bar(position = "dodge") +
  labs(title = "Distribución de pacientes por piso y sexo", x = "Piso", y = "Cantidad de pacientes")

d) Edad y causa de ingreso

ggplot(historiaclinica, aes(x = Causa, y = Edad, fill = Causa)) +
  geom_boxplot() +
  labs(title = "Distribución de Edad según Causa de Ingreso",
       x = "Causa de Ingreso",
       y = "Edad",
       fill = "Causa") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

e) Promedio de edad (M,H)

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
historiaclinica %>%
  group_by(Sexo) %>%
  summarise(Promedio_edad = mean(Edad)) %>%
  ggplot(aes(x = Sexo, y = Promedio_edad, fill = Sexo)) +
  geom_bar(stat = "identity") +
  labs(title = "Promedio de edad por sexo", x = "Sexo", y = "Promedio de edad")

f) Datos independientes de 3 pacientes

library(ggplot2)
pacientes_aleatorios <- historiaclinica[sample(1:nrow(historiaclinica), 3), ]

ggplot(pacientes_aleatorios, aes(x = Nombre, y = Edad, fill = Sexo)) +
  geom_bar(stat = "identity") +
  labs(title = "Edad de Pacientes Seleccionados",
       x = "Nombre del Paciente",
       y = "Edad",
       fill = "Sexo") +
  theme_minimal()

g) Datos de 3 pacientes por identidad

pacientes_identidad <- historiaclinica[sample(1:nrow(historiaclinica), 3), ]

ggplot(pacientes_identidad, aes(x = factor(Nrocedula), y = Edad, fill = Sexo)) +
  geom_bar(stat = "identity") +
  labs(title = "Datos de Pacientes por Identidad",
       x = "Número de Cédula",
       y = "Edad",
       fill = "Sexo") +
  theme_minimal()

h) Lista de causas de ingreso

ggplot(historiaclinica, aes(x = Causa)) +
  geom_bar() +
  labs(title = "Frecuencia de Causas de Ingreso",
       x = "Causa de Ingreso",
       y = "Frecuencia") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

2.3. Exportar base de datos a Excel

library(openxlsx)

historiaclinica = "historiaclinica.xlsx"

write.xlsx(historiaclinica, file = historiaclinica)

print(paste("La base de datos se ha exportado exitosamente a", historiaclinica))
## [1] "La base de datos se ha exportado exitosamente a historiaclinica.xlsx"