2017-06-08 1 views
0
hinzufügt

Wie kann ich den p-Wert des Shapiro-Tests (Überprüfung der Normalität) in das Dichtediagramm einfügen? Ich habe versucht, geom_text(aes(y = 1, label = p.value), data = shapiro.test, size = 1) zu verwenden, aber ich habe den Fehler erhalten.Wie man den Shapiro-Test p-Wert zum Dichtediagramm in R

formula <- as.formula(paste0("cbind(", paste(names(mtcars)[-c(4,9)], collapse = ","), ") ~ hp*am")) 
    fit <- aov(formula, data=mtcars) 
    res.data.plot <-data.frame(melt(resid(fit))) 
    res.data.test <-data.frame(resid(fit)) 
#plot  
     res.plot <- ggplot(res.data.plot, aes(x=value)) + 
        geom_histogram(aes(y=..density..), binwidth=.5,colour="black", fill="white")+  
        geom_density(alpha=.2, fill="#FF6666")+ facet_wrap(~X2, scales="free") 

# shapiro test 
     kk<-Map(function(x)cbind(shapiro.test(x)$statistic,shapiro.test(x)$p.value),res.data.test) 
     shapiro.test <-ldply(kk) 
     names(shapiro.test)<-c("var","W","p.value") 
     shapiro.test<- plyr::arrange(shapiro.test, var, desc(p.value)) 

Antwort

1

Die Daten im shapiro.test Objekt ist nicht die gleiche Länge wie res.data.plot, sie gleich lang sein müssen für geom_text wie erwartet zu arbeiten.

Sie können beide Objekte zusammenführen, wodurch das Plotten einfacher wird.

res.data.plot.new <- merge(res.data.plot, shapiro.test, by.x = "Var2", by.y = "var") 

ggplot(res.data.plot.new, aes(x=value)) + 
    geom_histogram(aes(y=..density..), binwidth=.5, colour="black", fill="white") +  
    geom_density(alpha=.2, fill="#FF6666") + 
    facet_wrap(~Var2, scales="free") + 
    geom_text(aes(x = 1, y = 1, label = round(p.value, 4))) 
+0

groß, Vielen Dank – shad

+0

nur noch eine Frage: Wie kann ich all das Etikett an der rechten Ecke jeder Handlung bringen statt mit x = 1 y = 1 becuase x- und y-Bereich ist für jedes Grundstück . – shad

+0

Da Sie in Ihren Facetten freie Skalen haben, müssen Sie eine relative Position für x und y angeben. Werfen Sie einen Blick auf diese Frage, um einen Weg zu finden: [Relative Positionierung von geom_text in ggplot2?] (Https://stackoverflow.com/questions/7611691/relative-positioning-of-geom-text-in-gplplot2) –

Verwandte Themen