Je ne suis pas un statisticien, mais je veux utiliser la probabilité de base pour comprendre ce qui se passe avec mes données.Analyse de probabilités de base à l'aide de bacs dans R
J'ai créé une méthode lourde mais très utile pour examiner mes données dans des groupes spécifiques en utilisant des histogrammes puis en comparant les différents groupes que je suis intéressé à analyser avec le groupe global. Cela nous a montré des idées incroyables dans notre entreprise et il est facile d'expliquer ce qui se passe dans le graphique. Cela étant dit, c'est assez fastidieux et il serait logique que ce type d'analyse soit si utile que d'autres auraient déjà créé une fonction pour cela.
Voici mon code ci-dessous. Ce type d'analyse existe-t-il déjà dans une fonction? J'ai aussi utilisé logi.hist.plot() qui fait quelque chose de similaire, mais cela peut être problématique et je préfère utiliser cette "vue brute" des données.
library(dplyr)
library(ggplot2)
#Create the data
set.seed(84102)
daba <- data.frame(YES_NO = c(0,0,1,1,1,1,0,0,0,1,0,1,0,1,0,1,0,0,0,1))
daba$UserCount <- c(23,43,45,65,32,10,34,68,65,75,43,24,37,54,73,29,87,32,21,12)
#Create the bins using hist(), clean up bins and make them integers
hist_breaks <- cut(daba$UserCount, breaks = hist(daba$UserCount, breaks = 20)$breaks)
daba$Breaks <- hist_breaks
daba$Breaks <- sub(".*,","",daba$Breaks)
daba$Breaks <- sub("]","",daba$Breaks)
daba$Breaks[is.na(daba$Breaks)] <- 0
daba$Breaks <- as.integer(daba$Breaks)
#Create two data groups to be compared
daba_NO <- filter(daba, daba$YES_NO == 0)
daba_YES <- filter(daba, daba$YES_NO == 1)
#Aggregate user count into histogram bins using aggregate()
daba_NOAgg <- aggregate(data = daba_NO, daba_NO$Breaks~daba_NO$UserCount, sum)
daba_YESAgg <- aggregate(data = daba_YES, daba_YES$Breaks~daba_YES$UserCount, sum)
#Rename the columns to clean it up
colnames(daba_NOAgg) <- c("UserCountNo", "Breaks")
colnames(daba_YESAgg) <- c("UserCountYes", "Breaks")
#Merge the two groups back together
daba_SUMAgg <- merge(x = daba_NOAgg, y = daba_YESAgg, by.x = "Breaks", by.y = "Breaks")
#Generate basic probability for Yes group of users
daba_SUMAgg$Probability <- (daba_SUMAgg$UserCountYes/(daba_SUMAgg$UserCountNo+daba_SUMAgg$UserCountYes))*100
#Graph the data
ggplot(data = daba_SUMAgg)+
geom_point(alpha = 0.4, mapping = aes(y = daba_SUMAgg$Probability, x = daba_SUMAgg$Breaks))+
labs(x = "BINS", y = "PROBABILITY", title = "PROBABILITY ANALYSIS USING BINS")
daba_SUMAgg
Etes-vous sûr que votre cadre de données 'daba_SUMAgg' a du sens? Vous obtenez 2 lignes pour les pauses 25 et 35. En outre, certaines de vos pauses, comme 90, sont manquantes. – AntoniosK
Je pense que vous avez besoin de 'aggregate (data = daba_NO, daba_NO $ UserCount ~ daba_NO $ Breaks, somme)'. Vous devez changer ce que vous passez à '~' – AntoniosK