Tengo un conjunto de datos que contiene el nombre de los compradores. Quiero graficar una CDF que muestre qué porcentaje de compradores compró hasta qué porcentaje de productos. Algo así como abajo: , pero ¿no sé cómo hacerlo con datos categóricos en R? ¿Alguien puede darme una pista?
Respuesta
¿Demasiados anuncios?La definición de una CDF requiere que una variable aleatoria tome valores en un conjunto totalmente ordenado. Sin embargo, la propiedad definitoria de una variable aleatoria categórica es que sus valores no son ordenables. Por lo tanto, las CDF no existen para las RV categóricas.
Dicho esto, si su interés principal es proporcionar una representación gráfica de sus datos, es posible que desee recurrir a la función de masa de probabilidad en su lugar. Para presentar la PMF, querrá organizar sus datos de manera que las probabilidades estén dispuestas en orden decreciente. Este enfoque se utiliza comúnmente en campos como la minería de texto. El script de R a continuación ilustra cómo hacerlo:
K <- 10 # Número total de categorías posibles
pop <- letters[1:K] # Espacio muestral categórico
n <- 50 # Tamaño de la muestra
f <- 1:K / sum(1:K) # Verdadera PMF
X <- sample(pop, n, replace = T, prob = f) # Datos de muestra
f_hat <- table(X) / n # PMF estimada
f_hat_ord <- sort(f_hat, decreasing = T) # PMF estimada ordenada
plot(f_hat_ord)
Si realmente quisiera, podría generar algo parecido a una CDF tomando la suma acumulativa de la PMF estimada ordenada. Sin embargo, me imagino que perdería parte del atractivo visual al hacerlo.