—| title: “Taller N°3” author: “Daniel Villamarin” date: “2024-04-26” output: html_document — ##Costruya una base de datos de veinte (20)historias clinicas con los siguientes campos: 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 clinicas
library(ggplot2)
library(openxlsx)
## Warning: package 'openxlsx' was built under R version 4.3.3
historias_clinicas = data.frame(
Numero_de_Cedula = c("1234567890","9876543210","5678901234","3456789012","9012345678","7890123456","2345678901","6543210987","4321098765","2109876543","6789012345","9012345678","5432109876","7890123456","2345678901","6543210987","4321098765","2109876543","6789012345","8901234567"),
Nombres = c("Juan","María","Carlos","Ana","Luis","Laura","Pedro","Sofía","Jorge","Daniel","Roberto","Paola","Diego","Camila","Andrés","Mariana","Gustavo","Fernanda","Santiago","Valentina"),
Apellidos =c("Alvarez", "Garcia", "Santiago", "Morales", "Navarro","Cabrera", "Suarez", "Pereira", "Rivas", "Villa","Mendoza", "Guerra", "Delgado", "Molina", "Vega","Silva", "Bautista", "Guzman", "Montoya", "Paz"),
Edad =c(30, 40, 25, 32, 21, 48, 39, 18, 36, 41, 50, 31, 45, 24, 37, 46, 29, 19, 20, 27),
Sexo =c("M","F","M","F","M","F","M","F","M","M","M","F","M","F","M","F","M","F","M","F"),
Domicilio =c("Calle 56", "Av. Libertador", "Carrera 23", "Diagonal 78", "Calle 34","Av. Bolivar", "Carrera 89", "Diagonal 45", "Calle 90", "Av. Principal","Carrera 12", "Diagonal 67", "Calle 78", "Av. Sucre", "Carrera 56","Diagonal 23", "Calle 67", "Av. Miranda", "Carrera 45", "Diagonal 12"),
Ciudad = c("Bogota", "Medellin", "Cucuta", "Barranquilla", "Cartagena","Santa Marta", "Bucaramanga", "Pereira", "Manizales", "Cali","Ibague", "Pasto", "Villavicencio", "Neiva", "Armenia","Popayan", "Tunja", "Riohacha", "Valledupar", "Quibdo"),
Departamento = c("Cundinamarca", "Antioquia", "Norte de Santander", "Atlantico", "Bolivar","Magdalena", "Santander", "Risaralda", "Caldas", "Valle del cauca","Tolima", "Narino", "Meta", "Huila","Quindio","Cauca", "Boyaca", "La Guajira", "Cesar", "Choco"),
Numero_de_telefono = c("9876543210", "8765432109", "7654321098", "6543210987", "5432109876","4321098765", "3210987654", "2109876543", "1098765432", "0987654321","5544332211", "6655443322", "7766554433", "8877665544", "9988776655","0099887766", "1100998877", "2211009988", "3322110099", "4433221100"),
Numero_de_historial_clinico = c(101, 102, 103, 104, 105,106, 107, 108, 109, 110,111, 112, 113, 114, 115,116, 117, 118, 119, 120),
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 Juan Alvarez 30 M Calle 56 Bogota
## 2 9876543210 María Garcia 40 F Av. Libertador Medellin
## 3 5678901234 Carlos Santiago 25 M Carrera 23 Cucuta
## 4 3456789012 Ana Morales 32 F Diagonal 78 Barranquilla
## 5 9012345678 Luis Navarro 21 M Calle 34 Cartagena
## 6 7890123456 Laura Cabrera 48 F Av. Bolivar Santa Marta
## 7 2345678901 Pedro Suarez 39 M Carrera 89 Bucaramanga
## 8 6543210987 Sofía Pereira 18 F Diagonal 45 Pereira
## 9 4321098765 Jorge Rivas 36 M Calle 90 Manizales
## 10 2109876543 Daniel Villa 41 M Av. Principal Cali
## 11 6789012345 Roberto Mendoza 50 M Carrera 12 Ibague
## 12 9012345678 Paola Guerra 31 F Diagonal 67 Pasto
## 13 5432109876 Diego Delgado 45 M Calle 78 Villavicencio
## 14 7890123456 Camila Molina 24 F Av. Sucre Neiva
## 15 2345678901 Andrés Vega 37 M Carrera 56 Armenia
## 16 6543210987 Mariana Silva 46 F Diagonal 23 Popayan
## 17 4321098765 Gustavo Bautista 29 M Calle 67 Tunja
## 18 2109876543 Fernanda Guzman 19 F Av. Miranda Riohacha
## 19 6789012345 Santiago Montoya 20 M Carrera 45 Valledupar
## 20 8901234567 Valentina Paz 27 F Diagonal 12 Quibdo
## Departamento Numero_de_telefono Numero_de_historial_clinico Fumante
## 1 Cundinamarca 9876543210 101 S
## 2 Antioquia 8765432109 102 N
## 3 Norte de Santander 7654321098 103 N
## 4 Atlantico 6543210987 104 S
## 5 Bolivar 5432109876 105 N
## 6 Magdalena 4321098765 106 N
## 7 Santander 3210987654 107 S
## 8 Risaralda 2109876543 108 N
## 9 Caldas 1098765432 109 N
## 10 Valle del cauca 0987654321 110 S
## 11 Tolima 5544332211 111 N
## 12 Narino 6655443322 112 S
## 13 Meta 7766554433 113 N
## 14 Huila 8877665544 114 N
## 15 Quindio 9988776655 115 S
## 16 Cauca 0099887766 116 N
## 17 Boyaca 1100998877 117 S
## 18 La Guajira 2211009988 118 N
## 19 Cesar 3322110099 119 N
## 20 Choco 4433221100 120 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("2023-01-01", "2023-02-15","2023-03-10", "2023-04-05","2023-05-20","2023-06-12", "2023-07-30", "2023-08-25", "2023-09-18", "2023-10-02","2023-11-15", "2023-12-20", "2024-01-02", "2024-02-17", "2024-03-08","2024-04-12", "2024-05-25", "2024-06-18", "2024-07-05", "2024-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(201, 302, 203, 403, 202, 302, 303, 405, 203, 302,303, 402, 201, 204, 306, 404, 202, 302, 402, 405)
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 Juan Alvarez 30 M Calle 56 Bogota
## 2 9876543210 María Garcia 40 F Av. Libertador Medellin
## 3 5678901234 Carlos Santiago 25 M Carrera 23 Cucuta
## 4 3456789012 Ana Morales 32 F Diagonal 78 Barranquilla
## 5 9012345678 Luis Navarro 21 M Calle 34 Cartagena
## 6 7890123456 Laura Cabrera 48 F Av. Bolivar Santa Marta
## 7 2345678901 Pedro Suarez 39 M Carrera 89 Bucaramanga
## 8 6543210987 Sofía Pereira 18 F Diagonal 45 Pereira
## 9 4321098765 Jorge Rivas 36 M Calle 90 Manizales
## 10 2109876543 Daniel Villa 41 M Av. Principal Cali
## 11 6789012345 Roberto Mendoza 50 M Carrera 12 Ibague
## 12 9012345678 Paola Guerra 31 F Diagonal 67 Pasto
## 13 5432109876 Diego Delgado 45 M Calle 78 Villavicencio
## 14 7890123456 Camila Molina 24 F Av. Sucre Neiva
## 15 2345678901 Andrés Vega 37 M Carrera 56 Armenia
## 16 6543210987 Mariana Silva 46 F Diagonal 23 Popayan
## 17 4321098765 Gustavo Bautista 29 M Calle 67 Tunja
## 18 2109876543 Fernanda Guzman 19 F Av. Miranda Riohacha
## 19 6789012345 Santiago Montoya 20 M Carrera 45 Valledupar
## 20 8901234567 Valentina Paz 27 F Diagonal 12 Quibdo
## Departamento Numero_de_telefono Numero_de_historial_clinico Fumante
## 1 Cundinamarca 9876543210 101 S
## 2 Antioquia 8765432109 102 N
## 3 Norte de Santander 7654321098 103 N
## 4 Atlantico 6543210987 104 S
## 5 Bolivar 5432109876 105 N
## 6 Magdalena 4321098765 106 N
## 7 Santander 3210987654 107 S
## 8 Risaralda 2109876543 108 N
## 9 Caldas 1098765432 109 N
## 10 Valle del cauca 0987654321 110 S
## 11 Tolima 5544332211 111 N
## 12 Narino 6655443322 112 S
## 13 Meta 7766554433 113 N
## 14 Huila 8877665544 114 N
## 15 Quindio 9988776655 115 S
## 16 Cauca 0099887766 116 N
## 17 Boyaca 1100998877 117 S
## 18 La Guajira 2211009988 118 N
## 19 Cesar 3322110099 119 N
## 20 Choco 4433221100 120 S
## Procedencia Fecha_de_ingreso Numero_de_piso Numero_de_cama
## 1 Urgencias 2023-01-01 1 201
## 2 Consulta Externa 2023-02-15 3 302
## 3 Referencia de otro centro 2023-03-10 2 203
## 4 Urgencias 2023-04-05 4 403
## 5 Consulta Externa 2023-05-20 1 202
## 6 Consulta Externa 2023-06-12 2 302
## 7 Urgencias 2023-07-30 3 303
## 8 Consulta Externa 2023-08-25 4 405
## 9 Referencia de otro centro 2023-09-18 1 203
## 10 Urgencias 2023-10-02 2 302
## 11 Urgencias 2023-11-15 3 303
## 12 Consulta Externa 2023-12-20 4 402
## 13 Consulta Externa 2024-01-02 1 201
## 14 Urgencias 2024-02-17 2 204
## 15 Consulta Externa 2024-03-08 3 306
## 16 Consulta Externa 2024-04-12 4 404
## 17 Urgencias 2024-05-25 1 202
## 18 Consulta Externa 2024-06-18 2 302
## 19 Referencia de otro centro 2024-07-05 3 402
## 20 Urgencias 2024-08-30 4 405
## 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()
B. Edad y si es fumante o no
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()
C.Pacientes por piso divididos por sexo
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()
D.Edad y causa de ingreso
# 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()
E.Promedio de edad (M,H)
# 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()
F.Datos independientes de 3 pacientes
# Seleccionar datos de tres pacientes específicos
paciente1 = historias_clinicas[historias_clinicas$Numero_de_historial_clinico == 101, ]
paciente2 = historias_clinicas[historias_clinicas$Numero_de_historial_clinico == 102, ]
paciente3 = historias_clinicas[historias_clinicas$Numero_de_historial_clinico == 103, ]
# Mostrar los datos de los tres pacientes
print(paciente1)
## Numero_de_Cedula Nombres Apellidos Edad Sexo Domicilio Ciudad Departamento
## 1 1234567890 Juan Alvarez 30 M Calle 56 Bogota Cundinamarca
## Numero_de_telefono Numero_de_historial_clinico Fumante Procedencia
## 1 9876543210 101 S Urgencias
## Fecha_de_ingreso Numero_de_piso Numero_de_cama Causa_de_ingreso
## 1 2023-01-01 1 201 Dolor abdominal
print(paciente2)
## Numero_de_Cedula Nombres Apellidos Edad Sexo Domicilio Ciudad
## 2 9876543210 María Garcia 40 F Av. Libertador Medellin
## Departamento Numero_de_telefono Numero_de_historial_clinico Fumante
## 2 Antioquia 8765432109 102 N
## Procedencia Fecha_de_ingreso Numero_de_piso Numero_de_cama
## 2 Consulta Externa 2023-02-15 3 302
## Causa_de_ingreso
## 2 Fiebre
print(paciente3)
## Numero_de_Cedula Nombres Apellidos Edad Sexo Domicilio Ciudad
## 3 5678901234 Carlos Santiago 25 M Carrera 23 Cucuta
## Departamento Numero_de_telefono Numero_de_historial_clinico Fumante
## 3 Norte de Santander 7654321098 103 N
## Procedencia Fecha_de_ingreso Numero_de_piso Numero_de_cama
## 3 Referencia de otro centro 2023-03-10 2 203
## 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("black", "green"), labels = c("M", "F")) +
theme_minimal()
G.Datos de 3 pacientes por identidad
cedulas_pac = c("1234567890", "9876543210", "5678901234")
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 Juan Alvarez 30 M Calle 56 Bogota
## 2 9876543210 María Garcia 40 F Av. Libertador Medellin
## 3 5678901234 Carlos Santiago 25 M Carrera 23 Cucuta
## Departamento Numero_de_telefono Numero_de_historial_clinico Fumante
## 1 Cundinamarca 9876543210 101 S
## 2 Antioquia 8765432109 102 N
## 3 Norte de Santander 7654321098 103 N
## Procedencia Fecha_de_ingreso Numero_de_piso Numero_de_cama
## 1 Urgencias 2023-01-01 1 201
## 2 Consulta Externa 2023-02-15 3 302
## 3 Referencia de otro centro 2023-03-10 2 203
## Causa_de_ingreso
## 1 Dolor abdominal
## 2 Fiebre
## 3 Fractura de brazo
H.Lista de causas de ingreso
# 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"
3.Exportar base de datos a Excel
write.xlsx(historias_clinicas, "historias_clinicas.xlsx")