#Punto 1.
#Creacion campos para BD
#Identidad Usuario
cedula=c(1045789645,1478954785,1457845178,1234567890,987654321,2345678901,3456789012,4567890123,5678901234,6789012345,2023847562,3028475610,4023856710,5029384761,6023847561,7028475613,7080901020,9010203040,2030405060,4050607080)
nombre=c("Andrea","Ana","Manuela", "Mariana","Luis","Juana","Pedro","Isabel","Pedro","SofÃa","Maria","Carlos","Sofia","Luis","Sandra","Santiago","Laura","Andrés","MarÃa","Camilo")
apellidos=c("Orozco Suarez","Acosta Perez","Pina Rojas","Pérez Hernandez","GarcÃa Mosquera","González Guzman","RodrÃguez Mendoza","MartÃnez Mora","Sánchez Muñoz","RamÃrez Duran","Gómez Zuleta","GarcÃa Tovar","Sánchez Marin","Ortiz Arcoz","Hernández Puente","López Arcos","González Tamayo","Hernández Merlano","DÃaz Franco","Vargas Correa"
)
edad=c(62,45,24,42,17,35,55,48,61,23,16,45,28,17,42,52,28,65,39,56)
sexo=c("F","F","F","F","M","F","M","F","M","F","F","M","F","M","F","M","F","M","F","M")
domicilio=c("Calle 83C#22-90","Calle 5 #7-85","Calle 7#58-96","Calle 1 # 12-34","Carrera 2 # 23-45","Avenida 7 # 12-23","Calle 3 # 45-67","Carrera 4 # 34-56","Avenida 8 # 45-56","Calle 5 # 23-45","Carrera 7 # 12-23","Calle 10 # 32-21","Avenida 3 # 45-12","Carrera 8 # 21-43","Calle 15 # 34-21","Avenida 10 # 56-32","Calle 8 # 15-40","Carrera 12 # 30-50","Calle 15 # 5-15","Carrera 30 # 40-20"
)
ciudad=c("Cali","Bogotá","Medellin ","Bogotá","MedellÃn","Barranquilla","Cali","Cartagena","Bucaramanga","Cúcuta","MedellÃn","Cali","Barranquilla","Bogotá","MedellÃn","Cali","Barranquilla","Pereira","Bucaramanga","Cartagena"
)
departamento=c("Valle del Cauca","Cundinamarca","Antioquia","Cundinamarca","Antioquia","Atlántico","Valle del Cauca","BolÃvar","Santander","Norte de Santander","Antioquia","Valle del Cauca","Atlántico","Cundinamarca","Antioquia","Valle del Cauca","Atlántico","Risaralda","Santander","BolÃvar"
)
telefono= c(3147854789,3147841457,3478547145,3125551234,3104445678,3186667890,3207778901,3158889012,3179990123,3131112345,3108765432,3157891234,3187654321,3112345678,3108765432,3157891234,3004567890,3106785432,3159876543,3507896543
)
HistoClinico= c(1457,1000,1000,1234,5678,9012,2345,6789,2123,3456,2345,3765,4678,5987,6325,7689,1004,1005,1006,1007)
fumante=c("S","N","S","N","N","N","N","S","S","N","N","S","N","N","N","S","S","N","S","N")
#Ingreso a entidad
procedencia=c("Cali","Bogotá","Medellin","Bogotá","Cali","Bogotá","MedellÃn","Cali","Bogotá","Barranquilla","MedellÃn","Bogotá","Cali","Bogotá","MedellÃn","Bogotá","Santa Marta","Pereira","Bogotá","Cartagena")
fechaIngreso= c("12/02/2022","1/02/2023","25/03/2023","24/01/2023","7/01/2022","6/01/2022","4/01/2022","5/01/2022","1/06/2022","5/07/2022","13/01/2023","16/01/2023","20/01/2023","24/01/2023","2/02/2023","10/02/2023","4/01/2022","5/01/2022","6/01/2022","7/01/2022"
)
numPiso=c(5,3,7,3,6,4,7,5,2,6,6,5,3,8,7,2,6,4,1,3)
numCama=c(501,302,705,205,403,308,507,403,102,402,503,305,209,708,605,102,17,14,1,10
)
causaIngreso=c("Covid","Accidente de tráfico","Infección respiratoria","Covid","Fractura","Infección urinaria","Hipertensión","Fractura","Infarto","Covid","Infección urinaria","Covid","Accidente de tráfico","Fractura","Covid","Infarto","Infección respiratoria","Hipertensión","Gripe","Fractura"
)
#Creacion BD
baseDeDatos=data.frame(cedula,nombre,apellidos,edad,sexo,domicilio,ciudad,departamento,telefono,HistoClinico,fumante, procedencia, fechaIngreso,numPiso,numCama, causaIngreso)
BD=cbind(cedula,nombre,apellidos,edad,sexo,domicilio,ciudad,departamento,telefono,HistoClinico,fumante, procedencia, fechaIngreso,numPiso,numCama, causaIngreso)
#Punto 2
#a) Mostrar gráficamente la cantidad de pacientes hombres y cantidad de pacientes mujeres
e1= sum(sexo=="M")#Cantidad de hombres
e2= sum(sexo=="F")#Cantidad de mujeres
et=c(e1,e2)
barplot(et, main = "Cantidad de pacientes hombres y mujeres",axes = TRUE, names.arg = c("Hombres", "Mujeres"), col = c("#2ECCFA","#DF01A5"), xlab="Género", ylab= "Cantidad Pacientes")

#b) Mostrar edad y si es fumante o no
table(fumante,edad)
## edad
## fumante 16 17 23 24 28 35 39 42 45 48 52 55 56 61 62 65
## N 1 2 1 0 1 1 0 2 1 0 0 1 1 0 0 1
## S 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 0
#Gráfico
d=table(fumante, edad)
etiquetas=sort(unique(edad), decreasing = FALSE)
barplot(d, main = "Pacientes fumadores y no fumadores segun edad",axes = TRUE, names.arg = etiquetas, col = c("#EE2C2C","#CAFF70"), xlab="Edades", ylab= "N° de pacientes")
legend("topright", legend= c("No son fumadores", "Son fumadores"),fill =c("#EE2C2C","#CAFF70"), cex=0.8)

#Se escoge realizar un gráfico de barras apiladas debido que este nos permite identificar las edades; ademas, podemos visualizar el número de ocurrencias de personas fumantes y no fumantes dentro de los rangos de edades.
#c) Pacientes por piso, divididos por sexo
table(sexo, numPiso)
## numPiso
## sexo 1 2 3 4 5 6 7 8
## F 1 0 3 1 2 3 2 0
## M 0 2 1 1 1 1 1 1
#Gráfico
d=table(sexo, numPiso)
etiquetas=sort(unique(numPiso), decreasing = FALSE)
barplot(d, main = "Pacientes por sexo divididos por piso",axes = TRUE, names.arg = etiquetas, col = c("#DF01A5","#2ECCFA"), xlab="N° de piso", ylab="N° de pacientes por piso")
legend("topright", legend= c("Mujeres", "Hombres"),fill =c("#DF01A5","#2ECCFA"), cex=0.8)

#Utilizamos un grafico igual al anterior punto debido que nos permite identificar en todas los pisos registrados, y podemos visualizar el número de ocurrencias tanto de pacientes masculinos y pacientes femeninos en cada piso.
#d) Edad y causa de ingreso
table(causaIngreso,edad)
## edad
## causaIngreso 16 17 23 24 28 35 39 42 45 48 52 55 56 61 62 65
## Accidente de tráfico 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
## Covid 0 0 1 0 0 0 0 2 1 0 0 0 0 0 1 0
## Fractura 0 2 0 0 0 0 0 0 0 1 0 0 1 0 0 0
## Gripe 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
## Hipertensión 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
## Infarto 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0
## Infección respiratoria 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0
## Infección urinaria 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
#Grafico
etiquetas=sort(unique(edad), decreasing = FALSE)
d=table(causaIngreso,edad)
colores= c("#F8EE1C","#FFA500","#F8231C","#FF6EB4","#AB82FF","#4876FF","#C6E2FF","#CDC9C9")
barplot(d, main = "Causas de ingreso/Edades",axes = TRUE, names.arg = etiquetas, col = colores, xlab="Edades de los pacientes en la Base de Datos", ylab= "N° de pacientes")
legend("topright", legend = sort(unique(causaIngreso), decreasing= FALSE), fill = colores,cex=0.48)

#e) Promedio de edad (H,M)
#Almacena
Hombres= edad[baseDeDatos$sexo=="M"]
#Se muestra la edad promedio de hombres
promHombres= mean(Hombres)
#Almacena
Mujeres= edad[baseDeDatos$sexo=="F"]
#Se muestra la edad promedio de mujeres
promMujeres= mean(Mujeres)
PromHM= rbind(promMujeres,promHombres)
p=table(promMujeres,promHombres)
colores= c("#DF01A5","#2ECCFA")
pie(PromHM, labels = paste0(PromHM), main = "Promedio edades", col=colores)
legend("topright", legend = sort(unique(sexo), decreasing= FALSE), fill = colores,cex=1)

#f)
#Establecemos las cédulas a consultar.
id1=1234567890
id2=5678901234
id3=4050607080
#Extraemos únicamente la información de los id anteriores
#Muestra la informacion indepentiente de los id anteriores
p1=subset(BD, BD[,1]==id1) #Para la persona1
p2=subset(BD, BD[,1]==id2)#Para la persona2
p3=subset(BD, BD[,1]==id3)#Para la persona3
#g) Datos de 3 pacientes por identidad
#Establecemos las cédulas a consultar.
id4=1234567890
id5=5678901234
id6=4050607080
#Extraemos únicamente la información de los id anteriores
p4=subset(BD, BD[,1]==id4) #Para la persona1
p5=subset(BD, BD[,1]==id5)#Para la persona2
p6=subset(BD, BD[,1]==id6)#Para la persona3
#Unificamos toda la información dentro de una sola tabla
TresPacientes= rbind(p4, p5, p6)
#h) Lista de causas de ingreso
table(causaIngreso)
## causaIngreso
## Accidente de tráfico Covid Fractura
## 2 5 4
## Gripe Hipertensión Infarto
## 1 2 2
## Infección respiratoria Infección urinaria
## 2 2
#Puede realizarse una lista exclusiva de los casos de ingreso y adicional un histograma con la frecuencia de cada una de ellas
indicadores= table(causaIngreso)
etiquetas=unique(causaIngreso)
barplot(indicadores, main = "Causas de ingreso",axes = TRUE, names.arg = indicadores, col = c("#F8EE1C","#FFA500","#F8231C","#FF6EB4","#AB82FF","#4876FF","#C6E2FF","#CDC9C9"), xlab="Causas de ingreso (Organizada por color)", ylab="N° de ocurrencias por causas de ingreso.")
legend("topright", legend = etiquetas, fill = c("#F8EE1C","#FFA500","#F8231C","#FF6EB4","#AB82FF","#4876FF","#C6E2FF","#CDC9C9"),cex=0.45)

#Punto 3, exportar la base de datos a excel.
library(openxlsx)
write.xlsx(baseDeDatos,"Taller3-LauraLopez.xlsx",rownames=FALSE)