In Anbetracht dieser ursprünglichen Datenrahmen (yld_sum):geom_abline mehrere Steigungen und Schnitt
coef pred se ci.lb ci.ub cr.lb cr.ub Yld_class
b0 3164.226 114.256 2940.289 3388.164 2142.724 4185.728 1Low
b1 -20.698 3.511 -27.580 -13.816 -50.520 9.124 1Low
b0 3985.287 133.220 3724.180 4246.394 2954.998 5015.576 2Low
b1 -14.371 4.185 -22.573 -6.168 -44.525 15.784 2Low
Wie kann ich meine vereinfachen Syntax die beiden geschätzten Regressionsgeraden mit ihren jeweiligen CI und erhalten die folgende Handlung zu planen?
Dies ist mein ausführlicher Code:
library(tidyverse)
yld_sum_est <- yld_sum %>% select(Yld_class, coef, pred) %>%
spread(coef, pred)
yld_sum_low <- yld_sum %>% select(Yld_class, coef, ci.lb) %>%
spread(coef, ci.lb)
yld_sum_up <- yld_sum %>% select(Yld_class, coef, ci.ub) %>%
spread(coef, ci.ub)
ggplot() +
geom_abline(data = yld_sum_est, aes(intercept = b0, slope = b1)) +
geom_abline(data = yld_sum_low, aes(intercept = b0, slope = b1), linetype= "dashed") +
geom_abline(data = yld_sum_up, aes(intercept = b0, slope = b1), linetype= "dashed") +
scale_x_continuous(limits=c(0,60), name="x") +
scale_y_continuous(limits=c(1000, 4200), name="y")
Können Sie etwas über Ihre Unzufriedenheit konkretisieren? Bist du mit dem Datentransformationscode nicht zufrieden? Der Plotcode? Die Allgemeinheit und Skalierbarkeit? – Gregor
Ich möchte die Anfangstabelle verwenden, um dieses Diagramm zu machen ... Ich möchte die Zwischendatenframes vermeiden ... – Juanchi
Nun, Sie können nicht sehr gut direkt von dieser Tabelle plotten. Die Vereinfachung, die ich vorschlagen würde, würde Ihre Datenrahmen zu einem mit einer einzelnen Spalte kombinieren, die Schätzung, ub oder lb anzeigt, und dann könnten Sie eine einzelne 'geom_abline' mit' linetype = ifelse (type == "schätzen") Gruppe tun = Interaktion (Typ, Yld_class) 'Ästhetik. Ich sehe nicht, wie Ihr Transformationscode mit dieser Tabelle viel einfacher als der Start werden kann, aber vielleicht von den Modellen ausgehend wäre einfacher ... – Gregor