Es ist ein Follow-up question. Wenn ich den unten angegebenen Code ausführe, erhalte ich ein Diagramm mit zwei R2- und p-Werten, aber mit p-Wert = 0. Dies liegt möglicherweise an einem sehr kleinen p-Wert. Ich habe versucht, nein zu erhöhen. von Ziffern bis 20 (hier signif(..p.value.., digits = 4)
), aber es hat nicht funktioniert. Ich würde lieber den exakten p-Wert angeben oder Sterne verwenden, z. B. if (p<0.002) star='**' else if (p>=0.002&p<0.05) star='*' else star=''
. Darüber hinaus möchte ich r Werte in der Handlung aufgeführt haben. Schauen Sie nach und lassen Sie mich wissen, welcher Teil geändert werden muss. Ich freue mich auf!Add p-Wert und r auf ggplot [Follow-up]
UPDATE
Antwort-Codes von @ eipi10 für das Hinzufügen von p-Wert der Arbeit, aber immer noch Suche nach Antworten auf Hinzufügen Korrelationskoeffizient (r) in den ggplots.
Code:
library(dplyr)
library(ggplot2)
library(ggpmisc)
df <- diamonds %>%
dplyr::filter(cut%in%c("Fair","Ideal")) %>%
dplyr::filter(clarity%in%c("I1" , "SI2" , "SI1" , "VS2" , "VS1", "VVS2")) %>%
dplyr::mutate(new_price = ifelse(cut == "Fair",
price* 0.5,
price * 1.1))
formula <- y ~ x - 1
p <- ggplot(df, aes(x,y, color=factor(cut)))
p <- p + stat_smooth(method = "lm", formula = y ~ x-1, size = 1, level=0.95)
p <- p + geom_point(alpha = 0.3)
p <- p + stat_poly_eq(aes(label = paste(..rr.label..)),
label.x.npc = "right", label.y.npc = 0.15, formula = formula,
parse = TRUE, size = 3) +
stat_fit_glance(method = 'lm', method.args = list(formula = formula),
geom = 'text', aes(label = paste("P-value = ",
signif(..p.value.., digits = 4), sep = "")),label.x.npc = 'right',
label.y.npc = 0.35, size = 3)
print(p)
Sie können den p-Wert direkt auf dem Protokoll erhalten (10) skaliert, wenn Sie brauchen es wirklich: 'pf (5.836e06, 1, 1583, niedriger = FALSCH, log.p = WAHR)/log (10)' = -2824.782 –
Danke @BenBolker. "Wenn du es wirklich brauchst:": Meinst du, falls ich mir Sorgen machen müsste, ob mein p-Wert wirklich 1e-2800 wäre statt der stupend größeren 1e-315? Vielleicht ist dies ein guter Zeitpunkt, um zu diesem Artikel zu verlinken (http://www.stat.columbia.edu/~gelman/research/published/signif4.pdf). – eipi10
Danke @ eipi10 & @BenBolker. Ich würde es bevorzugen, Sterne zu verwenden oder den genauen p-Wert anzugeben. z.B. 'if (p <0,002) Stern =' ** 'sonst wenn (p> = 0,002 & p <0,05) Stern =' * 'sonst Stern =' ''. Irgendwelche Gedanken zum Hinzufügen von Korrelationskoeffizienten und Sternen? Ben, wo/wie Sie Ihren Log (10) Scale Code in @ eipi10 Code einbinden? – Rocky