library(ggplot2)
library(openxlsx)
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))
# Crear un data frame con 20 historias clínicas
historias_clinicas = data.frame(
Numero_de_Cedula = c("1234567890", "2345678901", "3456789012", "4567890123", "5678901234",
"6789012345", "7890123456", "8901234567", "9012345678", "0123456789",
"1122334455", "2233445566", "3344556677", "4455667788", "5566778899",
"6677889900", "7788990011", "8899001122", "9900112233", "0011223344"),
Nombres = c("Camila", "Maria", "Pedro", "Laura", "Carlos",
"Ana", "Luis", "Sofia", "Diego", "Elena",
"Julio", "Daniela", "Andres", "Carolina", "Gabriel",
"Valeria", "Pablo", "Isabel", "Martina", "Fernanda"),
Apellidos = c("Perez", "Gomez", "Lopez", "Martinez", "Rodriguez",
"Gonzalez", "Hernandez", "Diaz", "Sanchez", "Ramirez",
"Torres", "Fernandez", "Vargas", "Rojas", "Moreno",
"Castro", "Acosta", "Ortega", "Jimenez", "Sosa"),
Edad = c(35, 45, 28, 35, 22, 50, 41, 19, 37, 42,
55, 33, 47, 26, 39, 48, 31, 20, 22, 29),
Sexo = c("F", "F", "M", "F", "M",
"F", "M", "F", "M", "F",
"M", "F", "M", "F", "M",
"F", "M", "F", "F", "F"),
Domicilio = c("Calle 123", "Av. Principal", "Carrera 45", "Diagonal 67", "Calle 89",
"Av. Libertador", "Carrera 12", "Diagonal 34", "Calle 56", "Av. Bolivar",
"Carrera 78", "Diagonal 90", "Calle 23", "Av. Sucre", "Carrera 56",
"Diagonal 12", "Calle 45", "Av. Miranda", "Carrera 67", "Diagonal 78"),
Ciudad = c("Bogota", "Medellin", "Cali", "Barranquilla", "Cartagena",
"Santa Marta", "Bucaramanga", "Pereira", "Manizales", "Cucuta",
"Ibague", "Pasto", "Villavicencio", "Neiva", "Armenia",
"Popayan", "Tunja", "Riohacha", "Valledupar", "Quibdo"),
Departamento = c("Cundinamarca", "Antioquia", "Valle del Cauca", "Atlantico", "Bolivar",
"Magdalena", "Santander", "Risaralda", "Caldas", "Norte de Santander",
"Tolima", "Narino", "Meta", "Huila", "Quindio",
"Cauca", "Boyaca", "La Guajira", "Cesar", "Choco"),
Numero_de_telefono = c("1234567890", "2345678901", "3456789012", "4567890123", "5678901234",
"6789012345", "7890123456", "8901234567", "9012345678", "0123456789",
"1122334455", "2233445566", "3344556677", "4455667788", "5566778899",
"6677889900", "7788990011", "8899001122", "9900112233", "0011223344"),
Numero_de_historial_clinico = c(1, 2, 3, 4, 5,
6, 7, 8, 9, 10,
11, 12, 13, 14, 15,
16, 17, 18, 19, 20),
Fumante = c("S", "N", "N", "S", "N",
"N", "S", "N", "N", "S",
"N", "S", "N", "N", "S",
"N", "S", "N", "N", "S")
)
# Mostrar la base de datos
print(historias_clinicas)
## Numero_de_Cedula Nombres Apellidos Edad Sexo Domicilio Ciudad
## 1 1234567890 Camila Perez 35 F Calle 123 Bogota
## 2 2345678901 Maria Gomez 45 F Av. Principal Medellin
## 3 3456789012 Pedro Lopez 28 M Carrera 45 Cali
## 4 4567890123 Laura Martinez 35 F Diagonal 67 Barranquilla
## 5 5678901234 Carlos Rodriguez 22 M Calle 89 Cartagena
## 6 6789012345 Ana Gonzalez 50 F Av. Libertador Santa Marta
## 7 7890123456 Luis Hernandez 41 M Carrera 12 Bucaramanga
## 8 8901234567 Sofia Diaz 19 F Diagonal 34 Pereira
## 9 9012345678 Diego Sanchez 37 M Calle 56 Manizales
## 10 0123456789 Elena Ramirez 42 F Av. Bolivar Cucuta
## 11 1122334455 Julio Torres 55 M Carrera 78 Ibague
## 12 2233445566 Daniela Fernandez 33 F Diagonal 90 Pasto
## 13 3344556677 Andres Vargas 47 M Calle 23 Villavicencio
## 14 4455667788 Carolina Rojas 26 F Av. Sucre Neiva
## 15 5566778899 Gabriel Moreno 39 M Carrera 56 Armenia
## 16 6677889900 Valeria Castro 48 F Diagonal 12 Popayan
## 17 7788990011 Pablo Acosta 31 M Calle 45 Tunja
## 18 8899001122 Isabel Ortega 20 F Av. Miranda Riohacha
## 19 9900112233 Martina Jimenez 22 F Carrera 67 Valledupar
## 20 0011223344 Fernanda Sosa 29 F Diagonal 78 Quibdo
## Departamento Numero_de_telefono Numero_de_historial_clinico Fumante
## 1 Cundinamarca 1234567890 1 S
## 2 Antioquia 2345678901 2 N
## 3 Valle del Cauca 3456789012 3 N
## 4 Atlantico 4567890123 4 S
## 5 Bolivar 5678901234 5 N
## 6 Magdalena 6789012345 6 N
## 7 Santander 7890123456 7 S
## 8 Risaralda 8901234567 8 N
## 9 Caldas 9012345678 9 N
## 10 Norte de Santander 0123456789 10 S
## 11 Tolima 1122334455 11 N
## 12 Narino 2233445566 12 S
## 13 Meta 3344556677 13 N
## 14 Huila 4455667788 14 N
## 15 Quindio 5566778899 15 S
## 16 Cauca 6677889900 16 N
## 17 Boyaca 7788990011 17 S
## 18 La Guajira 8899001122 18 N
## 19 Cesar 9900112233 19 N
## 20 Choco 0011223344 20 S
1.2. Proceso de Ingreso a la entidad: (Procedencia, Fecha de ingreso, Número de piso, Número de cama, Causa de Ingreso)
# Añadir los campos de Proceso de Ingreso a la base de datos existente
historias_clinicas$Procedencia = c("Urgencias", "Consulta Externa", "Referencia de otro centro", "Urgencias", "Consulta Externa","Consulta Externa", "Urgencias", "Consulta Externa", "Referencia de otro centro","Urgencias","Urgencias", "Consulta Externa", "Consulta Externa", "Urgencias", "Consulta Externa", "Consulta Externa", "Urgencias", "Consulta Externa", "Referencia de otro centro", "Urgencias")
historias_clinicas$Fecha_de_ingreso = as.Date(c("2022-01-01", "2022-02-15", "2022-03-10", "2022-04-05","2022-05-20","2022-06-12", "2022-07-30", "2022-08-25", "2022-09-18", "2022-10-02","2022-11-15", "2022-12-20", "2023-01-02", "2023-02-17", "2023-03-08","2023-04-12", "2023-05-25", "2023-06-18", "2023-07-05", "2023-08-30"))
historias_clinicas$Numero_de_piso = c(1, 3, 2, 4, 1, 2, 3, 4, 1, 2,
3, 4, 1, 2, 3, 4, 1, 2, 3, 4)
historias_clinicas$Numero_de_cama = c(101, 301, 202, 402, 102, 202, 303, 404, 103, 202,
303, 401, 101, 203, 305, 403, 102, 202, 302, 404)
historias_clinicas$Causa_de_ingreso = c("Dolor abdominal", "Fiebre", "Fractura de brazo", "Accidente de tráfico", "Cefalea","Fiebre", "Infarto agudo de miocardio", "Dolor abdominal", "Gripe", "Neumonía", "Dolor torácico", "Gripe", "Intoxicación alimentaria", "Fiebre", "Neumonía","Dolor abdominal", "Fractura de pierna", "Problema respiratorio", "Dolor abdominal", "Gripe")
# Mostrar la base de datos actualizada
print(historias_clinicas)
## Numero_de_Cedula Nombres Apellidos Edad Sexo Domicilio Ciudad
## 1 1234567890 Camila Perez 35 F Calle 123 Bogota
## 2 2345678901 Maria Gomez 45 F Av. Principal Medellin
## 3 3456789012 Pedro Lopez 28 M Carrera 45 Cali
## 4 4567890123 Laura Martinez 35 F Diagonal 67 Barranquilla
## 5 5678901234 Carlos Rodriguez 22 M Calle 89 Cartagena
## 6 6789012345 Ana Gonzalez 50 F Av. Libertador Santa Marta
## 7 7890123456 Luis Hernandez 41 M Carrera 12 Bucaramanga
## 8 8901234567 Sofia Diaz 19 F Diagonal 34 Pereira
## 9 9012345678 Diego Sanchez 37 M Calle 56 Manizales
## 10 0123456789 Elena Ramirez 42 F Av. Bolivar Cucuta
## 11 1122334455 Julio Torres 55 M Carrera 78 Ibague
## 12 2233445566 Daniela Fernandez 33 F Diagonal 90 Pasto
## 13 3344556677 Andres Vargas 47 M Calle 23 Villavicencio
## 14 4455667788 Carolina Rojas 26 F Av. Sucre Neiva
## 15 5566778899 Gabriel Moreno 39 M Carrera 56 Armenia
## 16 6677889900 Valeria Castro 48 F Diagonal 12 Popayan
## 17 7788990011 Pablo Acosta 31 M Calle 45 Tunja
## 18 8899001122 Isabel Ortega 20 F Av. Miranda Riohacha
## 19 9900112233 Martina Jimenez 22 F Carrera 67 Valledupar
## 20 0011223344 Fernanda Sosa 29 F Diagonal 78 Quibdo
## Departamento Numero_de_telefono Numero_de_historial_clinico Fumante
## 1 Cundinamarca 1234567890 1 S
## 2 Antioquia 2345678901 2 N
## 3 Valle del Cauca 3456789012 3 N
## 4 Atlantico 4567890123 4 S
## 5 Bolivar 5678901234 5 N
## 6 Magdalena 6789012345 6 N
## 7 Santander 7890123456 7 S
## 8 Risaralda 8901234567 8 N
## 9 Caldas 9012345678 9 N
## 10 Norte de Santander 0123456789 10 S
## 11 Tolima 1122334455 11 N
## 12 Narino 2233445566 12 S
## 13 Meta 3344556677 13 N
## 14 Huila 4455667788 14 N
## 15 Quindio 5566778899 15 S
## 16 Cauca 6677889900 16 N
## 17 Boyaca 7788990011 17 S
## 18 La Guajira 8899001122 18 N
## 19 Cesar 9900112233 19 N
## 20 Choco 0011223344 20 S
## Procedencia Fecha_de_ingreso Numero_de_piso Numero_de_cama
## 1 Urgencias 2022-01-01 1 101
## 2 Consulta Externa 2022-02-15 3 301
## 3 Referencia de otro centro 2022-03-10 2 202
## 4 Urgencias 2022-04-05 4 402
## 5 Consulta Externa 2022-05-20 1 102
## 6 Consulta Externa 2022-06-12 2 202
## 7 Urgencias 2022-07-30 3 303
## 8 Consulta Externa 2022-08-25 4 404
## 9 Referencia de otro centro 2022-09-18 1 103
## 10 Urgencias 2022-10-02 2 202
## 11 Urgencias 2022-11-15 3 303
## 12 Consulta Externa 2022-12-20 4 401
## 13 Consulta Externa 2023-01-02 1 101
## 14 Urgencias 2023-02-17 2 203
## 15 Consulta Externa 2023-03-08 3 305
## 16 Consulta Externa 2023-04-12 4 403
## 17 Urgencias 2023-05-25 1 102
## 18 Consulta Externa 2023-06-18 2 202
## 19 Referencia de otro centro 2023-07-05 3 302
## 20 Urgencias 2023-08-30 4 404
## Causa_de_ingreso
## 1 Dolor abdominal
## 2 Fiebre
## 3 Fractura de brazo
## 4 Accidente de tráfico
## 5 Cefalea
## 6 Fiebre
## 7 Infarto agudo de miocardio
## 8 Dolor abdominal
## 9 Gripe
## 10 Neumonía
## 11 Dolor torácico
## 12 Gripe
## 13 Intoxicación alimentaria
## 14 Fiebre
## 15 Neumonía
## 16 Dolor abdominal
## 17 Fractura de pierna
## 18 Problema respiratorio
## 19 Dolor abdominal
## 20 Gripe
# Contar el número de pacientes por género
pacientes_por_genero = table(historias_clinicas$Sexo)
# Crear un data frame con los resultados
df_pacientes_genero = data.frame(Genero = names(pacientes_por_genero),
Cantidad = as.numeric(pacientes_por_genero))
# Graficar el número de pacientes por género
ggplot(df_pacientes_genero, aes(x = Genero, y = Cantidad, fill = Genero)) +
geom_bar(stat = "identity") +
labs(title = "Cantidad de pacientes por género",
x = "Género",
y = "Cantidad") +
theme_minimal()
ggplot(historias_clinicas, aes(x = Edad, fill = Fumante)) +
geom_bar(position = "dodge") +
labs(title = "Distribución de edades por fumador/no fumador",
x = "Edad",
y = "Cantidad",
fill = "Fumante") +
theme_minimal()
ggplot(historias_clinicas, aes(x = factor(Numero_de_piso), fill = Sexo)) +
geom_bar() +
labs(title = "Pacientes por piso divididos por sexo",
x = "Número de piso",
y = "Cantidad de pacientes",
fill = "Sexo") +
theme_minimal()
# Crear un diagrama de caja
ggplot(historias_clinicas, aes(x = factor(Edad), fill = Causa_de_ingreso)) +
geom_bar() +
labs(title = "Relación entre edad y causa de ingreso",
x = "Edad",
y = "Numero de personas",
fill = "Causa de ingreso") +
theme_minimal()
# Calcular el promedio de edad por sexo
promedio_edad = aggregate(Edad ~ Sexo, data = historias_clinicas, FUN = mean)
# Crear un gráfico de barras para el promedio de edad por género
ggplot(promedio_edad, aes(x = Sexo, y = Edad, fill = Sexo)) +
geom_bar(stat = "identity", width = 0.5) +
labs(title = "Promedio de edad por género",
x = "Género",
y = "Edad promedio") +
theme_minimal()
# Seleccionar datos de tres pacientes específicos
paciente1 = historias_clinicas[historias_clinicas$Numero_de_historial_clinico == 1, ]
paciente2 = historias_clinicas[historias_clinicas$Numero_de_historial_clinico == 2, ]
paciente3 = historias_clinicas[historias_clinicas$Numero_de_historial_clinico == 3, ]
# Mostrar los datos de los tres pacientes
print(paciente1)
## Numero_de_Cedula Nombres Apellidos Edad Sexo Domicilio Ciudad Departamento
## 1 1234567890 Camila Perez 35 F Calle 123 Bogota Cundinamarca
## Numero_de_telefono Numero_de_historial_clinico Fumante Procedencia
## 1 1234567890 1 S Urgencias
## Fecha_de_ingreso Numero_de_piso Numero_de_cama Causa_de_ingreso
## 1 2022-01-01 1 101 Dolor abdominal
print(paciente2)
## Numero_de_Cedula Nombres Apellidos Edad Sexo Domicilio Ciudad
## 2 2345678901 Maria Gomez 45 F Av. Principal Medellin
## Departamento Numero_de_telefono Numero_de_historial_clinico Fumante
## 2 Antioquia 2345678901 2 N
## Procedencia Fecha_de_ingreso Numero_de_piso Numero_de_cama
## 2 Consulta Externa 2022-02-15 3 301
## Causa_de_ingreso
## 2 Fiebre
print(paciente3)
## Numero_de_Cedula Nombres Apellidos Edad Sexo Domicilio Ciudad
## 3 3456789012 Pedro Lopez 28 M Carrera 45 Cali
## Departamento Numero_de_telefono Numero_de_historial_clinico Fumante
## 3 Valle del Cauca 3456789012 3 N
## Procedencia Fecha_de_ingreso Numero_de_piso Numero_de_cama
## 3 Referencia de otro centro 2022-03-10 2 202
## Causa_de_ingreso
## 3 Fractura de brazo
# Crear un data frame con los datos de los tres pacientes
pacientes = rbind(paciente1, paciente2, paciente3)
# Crear un gráfico de puntos para los datos de los tres pacientes
ggplot(pacientes, aes(x = Numero_de_historial_clinico, y = Edad, color = Sexo)) +
geom_point(size = 3) +
labs(title = "Datos independientes de 3 pacientes",
x = "Número de historial clínico",
y = "Edad") +
scale_color_manual(values = c("blue", "red"), labels = c("M", "F")) +
theme_minimal()
cedulas_pac = c("1234567890", "2345678901", "3456789012")
pacientes_seleccionados = historias_clinicas[historias_clinicas$Numero_de_Cedula %in% cedulas_pac, ]
print(pacientes_seleccionados)
## Numero_de_Cedula Nombres Apellidos Edad Sexo Domicilio Ciudad
## 1 1234567890 Camila Perez 35 F Calle 123 Bogota
## 2 2345678901 Maria Gomez 45 F Av. Principal Medellin
## 3 3456789012 Pedro Lopez 28 M Carrera 45 Cali
## Departamento Numero_de_telefono Numero_de_historial_clinico Fumante
## 1 Cundinamarca 1234567890 1 S
## 2 Antioquia 2345678901 2 N
## 3 Valle del Cauca 3456789012 3 N
## Procedencia Fecha_de_ingreso Numero_de_piso Numero_de_cama
## 1 Urgencias 2022-01-01 1 101
## 2 Consulta Externa 2022-02-15 3 301
## 3 Referencia de otro centro 2022-03-10 2 202
## Causa_de_ingreso
## 1 Dolor abdominal
## 2 Fiebre
## 3 Fractura de brazo
# Obtener las causas de ingreso únicas
causas_ingreso = unique(historias_clinicas$Causa_de_ingreso)
# Mostrar la lista de causas de ingreso
print(causas_ingreso)
## [1] "Dolor abdominal" "Fiebre"
## [3] "Fractura de brazo" "Accidente de tráfico"
## [5] "Cefalea" "Infarto agudo de miocardio"
## [7] "Gripe" "Neumonía"
## [9] "Dolor torácico" "Intoxicación alimentaria"
## [11] "Fractura de pierna" "Problema respiratorio"
write.xlsx(historias_clinicas, "historias_clinicas.xlsx")