install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.3'
## (as 'lib' is unspecified)
library(ggplot2)
install.packages("knitr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.3'
## (as 'lib' is unspecified)
library(knitr)
install.packages("scales")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.3'
## (as 'lib' is unspecified)
library(scales)
install.packages("dplyr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.3'
## (as 'lib' is unspecified)
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
install.packages("modeest")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.3'
## (as 'lib' is unspecified)
library(modeest)
Patel et al. [37] realizaron un estudio cuyo fin era determinar si la función neuropsicológica en las personas infectadas con VIH se correlaciona con la pérdida de volumen cerebral. El desempeño neuropsicológico se evaluó mediante la aplicación de una serie de pruebas del funcionamiento neuropsicológico (NPZ-8), en tanto que el volumen cerebral fue medido como el porcentaje del volumen parenquimatoso del cerebro obtenido mediante una resonancia magnética (IRM). Los investigadores plantearon como hipótesis que existe una relación entre estas dos medidas aún antes de ser evidente la disfunción clínica declarada. La tabla J.5 muestra mediciones del volumen parenquimatoso del cerebro (PBV, por las siglas de brain parenchymal volume), del funcionamiento neuropsicológico (NPZ-8), del estado VIH (positivo o negativo), de si el paciente ha manifestado o no la etapa del complejo demencial del SIDA (ADC, por las siglas de AIDS dementia complex) y del estado del sistema inmunitario (CD4) de los sujetos que participaron en el estudio. Los bajos valores PBV indican menos volumen cerebral, en tanto que puntuaciones NPZ-8 más bajas indican un mejor funcionamiento neuropsicológico. Un valor ADC positivo indica que se ha diagnosticado el complejo demencial del SIDA. Para los pacientes con SIDA, los conteos CD4 más altos se asocian con un mejor funcionamiento del sistema inmunitario.
#Creación de las variables
Sujeto <- c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20")
PBV <- c(".791", ".782", ".646", ".740", ".804", ".858", ".729", ".803", ".831", ".826", ".786", ".882", ".889", ".917", ".885", ".886", ".833", ".851", ".897", ".901")
NPZ_8 <- c("12", "5", "3", "5", "2", "6", "8", "0", "3", "0", "0", "7", "3", "0", "0", "0", "0", "1", "0", "0")
Estado_VIH <- c("+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "-", "-", "-", "-", "-")
ADC <- c("+", "+", "+", "+", "+", "+", "+", "-", "-", "-", "-", "-", "-", "-", "-", "NS/NC", "NS/NC", "NS/NC", "NS/NC", "NS/NC")
CD4 <- c("16", "324", "256", "563", "321", "190", "818", "355", "465", "519", "87", "108", "190", "573", "1032", " ", " ", " ", " ", " ")
df=data.frame(Sujeto, PBV, NPZ_8, Estado_VIH, ADC, CD4)
kable(df)
| Sujeto | PBV | NPZ_8 | Estado_VIH | ADC | CD4 |
|---|---|---|---|---|---|
| 1 | .791 | 12 | + | + | 16 |
| 2 | .782 | 5 | + | + | 324 |
| 3 | .646 | 3 | + | + | 256 |
| 4 | .740 | 5 | + | + | 563 |
| 5 | .804 | 2 | + | + | 321 |
| 6 | .858 | 6 | + | + | 190 |
| 7 | .729 | 8 | + | + | 818 |
| 8 | .803 | 0 | + | - | 355 |
| 9 | .831 | 3 | + | - | 465 |
| 10 | .826 | 0 | + | - | 519 |
| 11 | .786 | 0 | + | - | 87 |
| 12 | .882 | 7 | + | - | 108 |
| 13 | .889 | 3 | + | - | 190 |
| 14 | .917 | 0 | + | - | 573 |
| 15 | .885 | 0 | + | - | 1032 |
| 16 | .886 | 0 | - | NS/NC | |
| 17 | .833 | 0 | - | NS/NC | |
| 18 | .851 | 1 | - | NS/NC | |
| 19 | .897 | 0 | - | NS/NC | |
| 20 | .901 | 0 | - | NS/NC |
Construya una tabla de frecuencias e histograma de frecuencias relativas y un polígono con las puntuaciones de la batería NPZ-8. Inspeccione el histograma de frecuencias relativas y el polígono que construyó con los datos de la batería NPZ-8. A partir de su inspección, ¿Qué podría afirmar a partir de este grafico?
NPZ_8 <- as.numeric(NPZ_8)
df$NPZ_8 <- as.numeric(df$NPZ_8)
frec_relativas <- prop.table(table(df$NPZ_8))
# Definir la función para tabla de frecuencia agrupada con más información
tabla_frecuencia_agrupada <- function(datos) {
# Convertir los datos a números enteros
datos <- as.integer(datos)
# Ordenar los datos de forma ascendente
datos_ordenados <- sort(datos)
# Calcular los límites de clase
min_valor <- min(datos_ordenados)
max_valor <- max(datos_ordenados)
rango <- max_valor - min_valor
k <- ceiling(sqrt(length(datos_ordenados)))
ancho_clase <- ceiling(rango / k)
# Ajustar el último límite de clase
limites_clase <- seq(min_valor, 12, by = ancho_clase)
# Calcular las frecuencias por clase
frecuencias <- cut(datos_ordenados, breaks = c(limites_clase, 15), right = FALSE)
frecuencias <- table(frecuencias)
# Calcular la frecuencia relativa
frecuencia_relativa <- prop.table(frecuencias)
# Calcular la frecuencia porcentual
frecuencia_porcentual <- frecuencia_relativa * 100
# Calcular la frecuencia absoluta acumulada
frecuencia_acumulada <- cumsum(frecuencias)
# Calcular la frecuencia relativa acumulada
frecuencia_relativa_acumulada <- cumsum(frecuencia_relativa)
# Calcular la frecuencia porcentual acumulada
frecuencia_porcentual_acumulada <- cumsum(frecuencia_porcentual)
tabla_resultado <- data.frame(Frecuencia_Absoluta = frecuencias,
Frecuencia_Relativa = frecuencia_relativa,
Frecuencia_Porcentual = frecuencia_porcentual,
Frecuencia_Absoluta_Acumulada = frecuencia_acumulada,
Frecuencia_Relativa_Acumulada = frecuencia_relativa_acumulada,
Frecuencia_Porcentual_Acumulada = frecuencia_porcentual_acumulada)
tabla_resultado <- tabla_resultado[, !grepl(".frecuencias", colnames(tabla_resultado))]
colnames(tabla_resultado) <- c("Frecuencia Absoluta",
"Frecuencia Relativa",
"Frecuencia Porcentual",
"Frecuencia Absoluta Acumulada",
"Frecuencia Relativa Acumulada",
"Frecuencia Porcentual Acumulada")
return(tabla_resultado)
}
NPZ_8 <- c("12", "5", "3", "5", "2", "6", "8", "0", "3", "0", "0", "7", "3", "0", "0", "0", "0", "1", "0", "0")
resultado <- tabla_frecuencia_agrupada(NPZ_8)
kable(resultado, align = "c")
| Frecuencia Absoluta | Frecuencia Relativa | Frecuencia Porcentual | Frecuencia Absoluta Acumulada | Frecuencia Relativa Acumulada | Frecuencia Porcentual Acumulada | |
|---|---|---|---|---|---|---|
| [0,3) | 11 | 0.55 | 55 | 11 | 0.55 | 55 |
| [3,6) | 5 | 0.25 | 25 | 16 | 0.80 | 80 |
| [6,9) | 3 | 0.15 | 15 | 19 | 0.95 | 95 |
| [9,12) | 0 | 0.00 | 0 | 19 | 0.95 | 95 |
| [12,15) | 1 | 0.05 | 5 | 20 | 1.00 | 100 |
#Histograma
histograma <- ggplot(data = df, aes(x = NPZ_8)) +
geom_histogram(binwidth = 1, fill = "skyblue", color = "black", alpha = 0.8) +
labs(title = "Histograma de NPZ_8",
x = "Valor de NPZ_8",
y = "Frecuencia") +
scale_x_continuous(breaks = seq(min(df$NPZ_8), max(df$NPZ_8), by = 1)) +
scale_y_continuous(breaks = seq(0, max(table(df$NPZ_8)), by = 1))
#Polígono de frecuencia
histograma <- histograma +
geom_freqpoly(binwidth = 1, color = "red", alpha = 0.8)
print(histograma)
Al analizar el histograma y el polígono de frecuencias relativas de las puntuaciones NPZ-8, se observa que la mayoría de los resultados se concentran en el rango más bajo (0 a 3). Esto implica que la mayoría de los participantes tienen un mejor funcionamiento neuropsicológico, ya que sus puntuaciones NPZ-8 son más bajas, según lo establecido por el estudio de Patel ed al. El hecho de que las puntuaciones NPZ-8 sean más bajas en su mayoría indica que los participantes tienden a tener un mejor rendimiento en las pruebas de funcionamiento neuropsicológico. Este resultado podría considerarse consistente con la hipótesis inicial de los investigadores de que posiblemente exista una relación entre la infección por VIH y un mejor rendimiento neuropsicológico, incluso antes de que se manifieste la disfunción clínica.
Sin embargo, es importante destacar que el 25% de estas respuestas en correlación con el estado VIH del paciente, son de aquellos que han dado negativo para el estudio, se destaca este hecho pues en el rango de [0,3), que es donde se concentra la mayor parte de las respuestas, esto indica un 45.5% de pacientes que tienen una baja puntuación NPZ-8, pero no están infectadas con VIH. Si se considera el rango de [0,6) como una puntuación baja, entonces se podría afirmar que el estado positivo de VIH en un paciente no influye su puntuación de NPZ-8, pues el 73.3% (respecto a los infectados) arrojó una buena puntuación de NPZ-8, lo cual resultaría ser una discrepancia con el planteamiento incial de los investigadores. No obstante, esta cantidad de datos no es suficiente para afirmar una tendencia en particular dentro de un conjunto de pacientes con alguna patología en particular.
Construya una tabla de frecuencias e histograma de frecuencias relativas y un polígono con las puntuaciones de la (PBV). Inspeccione el histograma de frecuencias relativas y el polígono que construyó con los datos de la batería NPZ-8. A partir de su inspección, ¿Qué podría afirmar a partir de este gráfico?
df$PBV <- as.numeric(df$PBV)
frec_relativas <- prop.table(table(df$PBV))
df_frec_relativas <- data.frame(PBV = as.numeric(names(frec_relativas)), Frecuencia_Relativa = frec_relativas)
tabla_frecuencia_agrupada_intervalos_personalizados <- function(datos) {
datos <- as.numeric(datos)
datos_ordenados <- sort(datos)
limites_clase_personalizados <- seq(0.60, 0.95, by = 0.05)
frecuencias <- cut(datos_ordenados, breaks = limites_clase_personalizados, right = FALSE)
frecuencias <- table(frecuencias)
# Calcular la frecuencia relativa
frecuencia_relativa <- prop.table(frecuencias)
# Calcular la frecuencia porcentual
frecuencia_porcentual <- frecuencia_relativa * 100
# Calcular la frecuencia absoluta acumulada
frecuencia_acumulada <- cumsum(frecuencias)
# Calcular la frecuencia relativa acumulada
frecuencia_relativa_acumulada <- cumsum(frecuencia_relativa)
# Calcular la frecuencia porcentual acumulada
frecuencia_porcentual_acumulada <- cumsum(frecuencia_porcentual)
tabla_resultado <- data.frame(Frecuencia_Absoluta = frecuencias,
Frecuencia_Relativa = frecuencia_relativa,
Frecuencia_Porcentual = frecuencia_porcentual,
Frecuencia_Absoluta_Acumulada = frecuencia_acumulada,
Frecuencia_Relativa_Acumulada = frecuencia_relativa_acumulada,
Frecuencia_Porcentual_Acumulada = frecuencia_porcentual_acumulada)
tabla_resultado <- tabla_resultado[, !grepl(".frecuencias", colnames(tabla_resultado))]
colnames(tabla_resultado) <- c("Frecuencia Absoluta",
"Frecuencia Relativa",
"Frecuencia Porcentual",
"Frecuencia Absoluta Acumulada",
"Frecuencia Relativa Acumulada",
"Frecuencia Porcentual Acumulada")
return(list(tabla_resultado = tabla_resultado))
}
PBV <- c(".791", ".782", ".646", ".740", ".804", ".858", ".729", ".803", ".831", ".826", ".786", ".882", ".889", ".917", ".885", ".886", ".833", ".851", ".897", ".901")
resultado_intervalos_personalizados <- tabla_frecuencia_agrupada_intervalos_personalizados(PBV)
kable(resultado_intervalos_personalizados$tabla_resultado, align = "c")
| Frecuencia Absoluta | Frecuencia Relativa | Frecuencia Porcentual | Frecuencia Absoluta Acumulada | Frecuencia Relativa Acumulada | Frecuencia Porcentual Acumulada | |
|---|---|---|---|---|---|---|
| [0.6,0.65) | 1 | 0.05 | 5 | 1 | 0.05 | 5 |
| [0.65,0.7) | 0 | 0.00 | 0 | 1 | 0.05 | 5 |
| [0.7,0.75) | 2 | 0.10 | 10 | 3 | 0.15 | 15 |
| [0.75,0.8) | 3 | 0.15 | 15 | 6 | 0.30 | 30 |
| [0.8,0.85) | 5 | 0.25 | 25 | 11 | 0.55 | 55 |
| [0.85,0.9) | 7 | 0.35 | 35 | 18 | 0.90 | 90 |
| [0.9,0.95) | 2 | 0.10 | 10 | 20 | 1.00 | 100 |
PBV <- as.numeric(PBV)
# Crear el histograma
h1 <- hist(PBV, col="skyblue", border="blue", main="Histograma del PBV", xlab="PBV", ylab="Frecuencia")
# Dibujar el polígono
lines(c(min(h1$breaks), h1$mids, max(h1$breaks)), c(0, h1$counts, 0), type="l", col="red")
Después de examinar el histograma y observar una distribución asimétrica negativa de los datos de PBV, se evidencia la presencia de una variabilidad significativa en los volúmenes cerebrales de los participantes. Sin embargo, es importante destacar que dentro de este estudio no se define qué valores se consideran bajos o altos en términos de PBV, ni se establecen los valores típicos o normales de esta medida. Por lo tanto, se carece de información suficiente para interpretar adecuadamente los datos más allá de simplemente observar los porcentajes obtenidos. Además, dado el tamaño relativamente pequeño de la muestra estudiada, es difícil generalizar los resultados. Esta limitación impide confiar plenamente en las conclusiones derivadas de este estudio. Por ende, se destaca la necesidad de investigaciones adicionales con muestras más grandes y con criterios definidos para determinar qué constituye un PBV bajo o alto, así como para establecer valores de referencia normativos. Sin esta información, no se pueden formular hipótesis sólidas ni extraer conclusiones significativas sobre la relación entre el PBV y otros factores como el desempeño neuropsicológico o el estado VIH.
Por último, pero no menos importante, se destaca el hecho de que el 60% de los pacientes considerados para el estudio cuentan con un PBV entre 0.800 y 0.900, de los cuales el 33.3% (de ese 60%) de ellos tienen un estado negativo de VIH, por lo que se puede llegar a una interpretación (posiblemente errónea) de que dichos valores sean los “típicos” entre los pacientes sanos, que es con lo que se busca hacer una comparación en primer lugar, evidentemente para ver la variabilidad presentada por el VIH (si llega a haber).
tabla_frecuencia_agrupada_intervalos_personalizados <- function(datos) {
datos <- as.numeric(datos)
datos <- datos[!is.na(datos)]
datos_ordenados <- sort(datos)
limites_clase_personalizados <- seq(0, 1200, by = 200)
frecuencias <- cut(datos_ordenados, breaks = limites_clase_personalizados, right = FALSE)
frecuencias <- table(frecuencias)
# Calcular la frecuencia relativa
frecuencia_relativa <- prop.table(frecuencias)
# Calcular la frecuencia porcentual
frecuencia_porcentual <- frecuencia_relativa * 100
# Calcular la frecuencia absoluta acumulada
frecuencia_acumulada <- cumsum(frecuencias)
# Calcular la frecuencia relativa acumulada
frecuencia_relativa_acumulada <- cumsum(frecuencia_relativa)
# Calcular la frecuencia porcentual acumulada
frecuencia_porcentual_acumulada <- cumsum(frecuencia_porcentual)
tabla_resultado <- data.frame(Frecuencia_Absoluta = frecuencias,
Frecuencia_Relativa = frecuencia_relativa,
Frecuencia_Porcentual = frecuencia_porcentual,
Frecuencia_Absoluta_Acumulada = frecuencia_acumulada,
Frecuencia_Relativa_Acumulada = frecuencia_relativa_acumulada,
Frecuencia_Porcentual_Acumulada = frecuencia_porcentual_acumulada)
tabla_resultado <- tabla_resultado[, !grepl(".frecuencias", colnames(tabla_resultado))]
colnames(tabla_resultado) <- c("Frecuencia Absoluta",
"Frecuencia Relativa",
"Frecuencia Porcentual",
"Frecuencia Absoluta Acumulada",
"Frecuencia Relativa Acumulada",
"Frecuencia Porcentual Acumulada")
return(list(tabla_resultado = tabla_resultado))
}
CD4 <- c("16", "324", "256", "563", "321", "190", "818", "355", "465", "519", "87", "108", "190", "573", "1032", NA, NA, NA, NA, NA)
resultado_intervalos_personalizados <- tabla_frecuencia_agrupada_intervalos_personalizados(CD4)
kable(resultado_intervalos_personalizados$tabla_resultado, align = "c")
| Frecuencia Absoluta | Frecuencia Relativa | Frecuencia Porcentual | Frecuencia Absoluta Acumulada | Frecuencia Relativa Acumulada | Frecuencia Porcentual Acumulada | |
|---|---|---|---|---|---|---|
| [0,200) | 5 | 0.3333333 | 33.333333 | 5 | 0.3333333 | 33.33333 |
| [200,400) | 4 | 0.2666667 | 26.666667 | 9 | 0.6000000 | 60.00000 |
| [400,600) | 4 | 0.2666667 | 26.666667 | 13 | 0.8666667 | 86.66667 |
| [600,800) | 0 | 0.0000000 | 0.000000 | 13 | 0.8666667 | 86.66667 |
| [800,1e+03) | 1 | 0.0666667 | 6.666667 | 14 | 0.9333333 | 93.33333 |
| [1e+03,1.2e+03) | 1 | 0.0666667 | 6.666667 | 15 | 1.0000000 | 100.00000 |
CD4 <- as.numeric(CD4)
# Crear el histograma
h1 <- hist(CD4, col="skyblue", border="blue", main="Histograma del CD4", xlab="CD4", ylab="Frecuencia")
# Dibujar el polígono
lines(c(min(h1$breaks), h1$mids, max(h1$breaks)), c(0, h1$counts, 0), type="l", col="red")
### Análisis
El análisis de los datos de CD4 revela una tendencia notable hacia valores más bajos en la población estudiada, lo que sugiere una prevalencia significativa de inmunodeficiencia entre los individuos incluidos en este estudio. Este hallazgo podría ser indicativo de la gravedad de la afectación inmunológica que puede causar el VIH a aquellos quienes lo padecen. Sin embargo, es importante destacar la presencia de casos excepcionales con recuentos de CD4 considerablemente altos, lo que añade complejidad a la interpretación de los datos. Esta variabilidad en los niveles de CD4 podría ser relevante para comprender la relación entre la función inmunológica y el funcionamiento neuropsicológico en individuos infectados con VIH, tal como se aborda en el estudio de Patel et al.
Estos resultados subrayan la necesidad de un análisis más detallado y específico para comprender completamente cómo la función inmunológica llega a ser afectada y cómo esta puede afectar otros aspectos de la salud en personas con VIH, incluyendo su impacto en la función neuropsicológica. Cabe resaltar que al igual que las conclusiones anteriores, la cantidad de datos no es suficiente para dar una conclusión o una hipótesis adecuada, además de que no se especifica cuáles serían los valores “normales” de CD4, más allá de solo saber que entre más alto se asocia con un mejor funcionamiento del sistema inmunitario.
tabla_estado_VIH_con_acumuladas <- function(estado_vih) {
# Calcular las frecuencias de los estados de VIH
frecuencias_vih <- table(estado_vih)
# Calcular la frecuencia relativa de los estados de VIH
frecuencia_relativa_vih <- prop.table(frecuencias_vih)
# Calcular la frecuencia porcentual de los estados de VIH
frecuencia_porcentual_vih <- frecuencia_relativa_vih * 100
# Calcular la frecuencia absoluta acumulada
frecuencia_absoluta_acumulada <- cumsum(frecuencias_vih)
# Calcular la frecuencia relativa acumulada
frecuencia_relativa_acumulada <- cumsum(frecuencia_relativa_vih)
# Calcular la frecuencia porcentual acumulada
frecuencia_porcentual_acumulada <- cumsum(frecuencia_porcentual_vih)
tabla_resultado_vih <- data.frame(Estado_VIH = names(frecuencias_vih),
Frecuencia_Absoluta = as.vector(frecuencias_vih),
Frecuencia_Relativa = as.vector(frecuencia_relativa_vih),
Frecuencia_Porcentual = as.vector(frecuencia_porcentual_vih),
Frecuencia_Absoluta_Acumulada = as.vector(frecuencia_absoluta_acumulada),
Frecuencia_Relativa_Acumulada = as.vector(frecuencia_relativa_acumulada),
Frecuencia_Porcentual_Acumulada = as.vector(frecuencia_porcentual_acumulada))
colnames(tabla_resultado_vih) <- c("Estado VIH",
"Frecuencia Absoluta",
"Frecuencia Relativa",
"Frecuencia Porcentual",
"Frecuencia Absoluta Acumulada",
"Frecuencia Relativa Acumulada",
"Frecuencia Porcentual Acumulada")
return(tabla_resultado_vih)
}
Estado_VIH <- c("+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "+", "-", "-", "-", "-", "-")
resultado_vih <- tabla_estado_VIH_con_acumuladas(Estado_VIH)
kable(resultado_vih, align = "c")
| Estado VIH | Frecuencia Absoluta | Frecuencia Relativa | Frecuencia Porcentual | Frecuencia Absoluta Acumulada | Frecuencia Relativa Acumulada | Frecuencia Porcentual Acumulada |
|---|---|---|---|---|---|---|
| - | 5 | 0.25 | 25 | 5 | 0.25 | 25 |
| + | 15 | 0.75 | 75 | 20 | 1.00 | 100 |
Tabla_2 <- df %>%
group_by(Estado_VIH) %>%
count() %>%
ungroup() %>%
mutate(Porcentaje = `n` / sum(`n`)) %>%
arrange(Porcentaje) %>%
mutate(etiquetas = scales::percent(Porcentaje))
ggplot(Tabla_2, aes(x = "", y = Porcentaje, fill = Estado_VIH)) +
geom_col(color = "black") +
geom_label(aes(label = etiquetas),
position = position_stack(vjust = 0.5),
show.legend = FALSE) +
guides(fill = guide_legend(title = "Pacientes con VIH Positivo o Negativo")) + scale_color_gradient() +
coord_polar(theta = "y") + ggtitle ("")
tabla_estado_ADC_con_acumuladas <- function(estado_ADC) {
frecuencias_ADC <- table(estado_ADC)
frecuencia_relativa_ADC <- prop.table(frecuencias_ADC)
frecuencia_porcentual_ADC <- frecuencia_relativa_ADC * 100
frecuencia_absoluta_acumulada <- cumsum(frecuencias_ADC)
frecuencia_relativa_acumulada <- cumsum(frecuencia_relativa_ADC)
frecuencia_porcentual_acumulada <- cumsum(frecuencia_porcentual_ADC)
tabla_resultado_ADC <- data.frame(Estado_ADC = names(frecuencias_ADC),
Frecuencia_Absoluta = as.vector(frecuencias_ADC),
Frecuencia_Relativa = as.vector(frecuencia_relativa_ADC),
Frecuencia_Porcentual = as.vector(frecuencia_porcentual_ADC),
Frecuencia_Absoluta_Acumulada = as.vector(frecuencia_absoluta_acumulada),
Frecuencia_Relativa_Acumulada = as.vector(frecuencia_relativa_acumulada),
Frecuencia_Porcentual_Acumulada = as.vector(frecuencia_porcentual_acumulada))
colnames(tabla_resultado_ADC) <- c("Estado ADC",
"Frecuencia Absoluta",
"Frecuencia Relativa",
"Frecuencia Porcentual",
"Frecuencia Absoluta Acumulada",
"Frecuencia Relativa Acumulada",
"Frecuencia Porcentual Acumulada")
return(tabla_resultado_ADC)
}
ADC <- c("+", "+", "+", "+", "+", "+", "+", "-", "-", "-", "-", "-", "-", "-", "-", "NS/NC", "NS/NC", "NS/NC", "NS/NC", "NS/NC")
resultado_ADC <- tabla_estado_ADC_con_acumuladas(ADC)
kable(resultado_ADC, align = "c")
| Estado ADC | Frecuencia Absoluta | Frecuencia Relativa | Frecuencia Porcentual | Frecuencia Absoluta Acumulada | Frecuencia Relativa Acumulada | Frecuencia Porcentual Acumulada |
|---|---|---|---|---|---|---|
| - | 8 | 0.40 | 40 | 8 | 0.40 | 40 |
| + | 7 | 0.35 | 35 | 15 | 0.75 | 75 |
| NS/NC | 5 | 0.25 | 25 | 20 | 1.00 | 100 |
Tabla_2 <- df %>%
group_by(ADC) %>%
count() %>%
ungroup() %>%
mutate(Porcentaje = `n` / sum(`n`)) %>%
arrange(Porcentaje) %>%
mutate(etiquetas = scales::percent(Porcentaje))
library(ggplot2)
nombres_categorias <- c("-", "+", "NS/NC")
colores <- c("lightblue", "pink", "lightgreen")
ggplot(Tabla_2, aes(x = "", y = Porcentaje, fill = ADC)) +
geom_col(color = "black") +
geom_label(aes(label = etiquetas),
position = position_stack(vjust = 0.5),
show.legend = FALSE) +
scale_fill_manual(values = colores, labels = nombres_categorias) + # Definir colores y nombres personalizados
coord_polar(theta = "y") +
ggtitle("") +
guides(fill = guide_legend(title = "Pacientes con ADC Positivo, Negativo, o NS/NC"))
NPZ_8 <- c("12", "5", "3", "5", "2", "6", "8", "0", "3", "0", "0", "7", "3", "0", "0", "0", "0", "1", "0", "0")
NPZ_8 <- as.numeric(NPZ_8)
media <- mean(NPZ_8)
cat("La media es:", media, "\n")
## La media es: 2.75
NPZ_8 <- c("12", "5", "3", "5", "2", "6", "8", "0", "3", "0", "0", "7", "3", "0", "0", "0", "0", "1", "0", "0")
NPZ_8 <- as.numeric(NPZ_8)
mediana <- median(NPZ_8)
cat("La mediana es:", mediana, "\n")
## La mediana es: 1.5
NPZ_8 <- c("12", "5", "3", "5", "2", "6", "8", "0", "3", "0", "0", "7", "3", "0", "0", "0", "0", "1", "0", "0")
NPZ_8 <- as.numeric(NPZ_8)
moda <- names(sort(table(NPZ_8), decreasing = TRUE))[1]
cat(paste("La moda es:", moda))
## La moda es: 0
PBV <- c(".791", ".782", ".646", ".740", ".804", ".858", ".729", ".803", ".831", ".826", ".786", ".882", ".889", ".917", ".885", ".886", ".833", ".851", ".897", ".901")
PBV <- as.numeric(PBV)
media <- mean(PBV)
cat("La media es:", media, "\n")
## La media es: 0.82685
PBV <- c(".791", ".782", ".646", ".740", ".804", ".858", ".729", ".803", ".831", ".826", ".786", ".882", ".889", ".917", ".885", ".886", ".833", ".851", ".897", ".901")
PBV <- as.numeric(PBV)
mediana <- median(PBV)
cat("La mediana es:", mediana, "\n")
## La mediana es: 0.832
PBV <- c(".791", ".782", ".646", ".740", ".804", ".858", ".729", ".803", ".831", ".826", ".786", ".882", ".889", ".917", ".885", ".886", ".833", ".851", ".897", ".901")
PBV <- as.numeric(PBV)
moda <- ifelse(length(unique(PBV)) == length(PBV), "No hay moda, no se repite ningún valor.",
names(sort(table(PBV), decreasing = TRUE))[1])
cat("La moda es:", moda, "\n")
## La moda es: No hay moda, no se repite ningún valor.
NPZ_8 <- c("12", "5", "3", "5", "2", "6", "8", "0", "3", "0", "0", "7", "3", "0", "0", "0", "0", "1", "0", "0")
NPZ_8 <- as.numeric(NPZ_8)
varianza <- var(NPZ_8)
print(paste("La varianza es:", varianza))
## [1] "La varianza es: 11.7763157894737"
NPZ_8 <- c("12", "5", "3", "5", "2", "6", "8", "0", "3", "0", "0", "7", "3", "0", "0", "0", "0", "1", "0", "0")
NPZ_8 <- as.numeric(NPZ_8)
desviacion_estandar <- sd(NPZ_8)
print(paste("La desviación estándar es:", desviacion_estandar))
## [1] "La desviación estándar es: 3.4316637057663"
NPZ_8 <- c("12", "5", "3", "5", "2", "6", "8", "0", "3", "0", "0", "7", "3", "0", "0", "0", "0", "1", "0", "0")
NPZ_8 <- as.numeric(NPZ_8)
# Calcular los cuartiles
cuartiles <- quantile(NPZ_8, probs = c(0.25, 0.5, 0.75));
cat("Primer cuartil (Q1 - 25%): ", cuartiles[1], "\n")
## Primer cuartil (Q1 - 25%): 0
cat("Segundo cuartil (Q2 - 50%): ", cuartiles[2], "\n")
## Segundo cuartil (Q2 - 50%): 1.5
cat("Tercer cuartil (Q3 - 75%): ", cuartiles[3], "\n")
## Tercer cuartil (Q3 - 75%): 5
Durante el análisis exploratorio de datos, se enfrentaron diversos desafíos que afectaron en la profundidad y precisión de los resultados obtenidos. Una de las dificultades más destacadas se relacionó con las reglas de medición utilizadas para establecer intervalos, las cuales demostraron ser ineficientes debido a la escasa cantidad de datos disponibles. Esta limitación constituyó un obstáculo significativo, pues impidió una segmentación adecuada y confiable de los datos, comprometiendo la calidad del análisis.
Como respuesta a esta dificultad, fue necesario recurrir a métodos alternativos para poder llevar a cabo el procedimiento de análisis con la mayor precisión posible. Además, la escasez de datos también generó un desafío adicional al momento de extraer conclusiones sólidas y certeras sobre los resultados obtenidos.
Estos hallazgos ponen de relieve la importancia crítica de contar con conjuntos de datos robustos y completos para llevar a cabo un análisis exploratorio efectivo y riguroso. Asimismo, se destaca la necesidad de explorar y desarrollar enfoques alternativos en situaciones donde la cantidad de datos disponibles sea limitada, con el fin de maximizar la utilidad y fiabilidad de los resultados.