1
Ich habe einen Datenrahmen in etwa so:Berechnung Quantile für Teilmengen von Daten
set.seed(2)
df<- data.frame(region= c(rep(1,4), rep(2,4)),scale=sample(-1:4,8,replace=TRUE))
ich gruppieren mag die Daten von region
und dann quantiles für diese Teilmenge berechnen und die Ergebnisse für das 25% -Quantil setzen, 75 % Quantil in separaten Spalten.
quantile(df[1:4,2])[2] #region 1 25% quantile
quantile(df[1:4,2])[4] #region 1 75% quantile
quantile(df[5:8,2])[2] #region 2 25% quantile
quantile(df[5:8,2])[4] #region 2 75% quantile
Die erwartete Ausgabe wäre:
output<- data.frame(region= c(1,2), Q1= c(0,2.75), Q3= c(2.25, 4))
ich versucht habe:
out <-
bos %>%
group_by(region)%>%
summarise(mean=mean(res_vec), sd= sd(res_vec),
median=median(res_vec), mode= mode(res_vec),
quantile1= quantile(scale, probs= 0.25),
quantile2= quantile(scale, probs= 0.75))
AND
quantiles<-aggregate(x = bos, by = list(bos$scale), fun = quantiles)
Vielen Dank. Während ich diese Lösung oben hatte, haben Sie bestätigt, dass ich etwas falsch mit meinem Datenrahmen haben muss und sicher genug, dass das Problem war! Die Variable, die ich mit 'scale()' skaliert hat, gibt Werte in Form einer Matrix statt eines Vektors aus, was zu Problemen führte. Danke, dass Sie mir geholfen haben. – Danielle