Also mein Problem ist ganz einfach, ich die exponentielle Regression meiner Daten darstellen möge, so weit, was ich getan habe, war die Handlung Polynomregression:R Grundstück mit ggplot2 linearer Regression mit einer transformierten abhängigen Variablen
ggplot(data = mydataANOVA, aes(x = TpsenJour, y = PrptionJourAuDelaDe, color = Type_Contrat))+
geom_point()+
geom_smooth(method ="lm", formula = y ~ poly(x,2))
ich die folgende Handlung bekam:
die Regression ist nicht gerade eine gute Passform für die eigentlichen Daten aber die Daten sah viel wie eine Exponentialfunktion so verwendete ich den Logarithmus meiner Daten, habe ich die gleiche Code mit dem Protokoll meiner Daten, um das folgende Diagramm zu erhalten:
, die eine sehr genaue Passform zu sein schien, so wollte ich die beiden Regressionsmodelle direkt vergleichen, indem die exponentielle Regression Plotten, aber wenn ich die Formel formula = y ~ exp(poly(x,2))
verwendet, habe ich nicht die gleiche genaue Regression erhalten und stattdessen habe ich noch etwas anderes:
Das ist noch weniger genau als das erste. Wie soll ich diese exponentielle Polynom-Regression mit den Konfidenzintervallen darstellen? Es gelang mir, die gute Regression der regulären Plot-Funktion zu erhalten, aber nicht mit den Konfidenzintervallen und nicht in ggplot2. Hier ist, was ich für nur eine der beiden Kurven bekam:
Wie kann ich die gute Regression auf ggplot2 mit den Konfidenzintervallen erhalten? Hier sind die Daten, die ich auf einer der 2 Kurven verwendet habe.
TpsenJour PrptionJourAuDelaDe fact
1 1 0.955669 a
3 3 0.877947 a
5 5 0.815058 a
7 7 0.764725 a
9 9 0.721070 a
11 11 0.681675 a
13 13 0.646490 a
15 15 0.614689 a
17 17 0.585664 a
19 19 0.558905 a
21 21 0.534362 a
23 23 0.511791 a
25 25 0.490651 a
27 27 0.470923 a
29 29 0.452498 a
31 31 0.435190 a
33 33 0.419160 a
35 35 0.404359 a
37 37 0.390519 a
40 40 0.371018 a
40.1 40 0.371018 a
43 43 0.352960 a
46 46 0.336170 a
49 49 0.320631 a
52 52 0.306194 a
55 55 0.292584 a
58 58 0.279858 a
62 62 0.264096 a
65 65 0.253316 a
68 68 0.243120 a
71 71 0.233544 a
74 74 0.224474 a
77 77 0.215905 a
81 81 0.205180 a
84 84 0.197623 a
87 87 0.190440 a
90 90 0.183609 a
93 93 0.177278 a
96 96 0.171358 a
100 100 0.163951 a
Vielen Dank.
Ich hatte ein kleines Problem mit der Antwort von @Roland, wo es einen Fehler zurückgeben würde, ich denke, ich habe es gelöst. Ich hatte einfach zwei Zeilen hinzufügen: (Ich hoffe, dass meine Fehler durch die Festsetzung ich nicht die ursprünglich vorhergesagten Ergebnis nicht verändert hat)
fact<-mydataANOVA$fact
fit <- lm(log(PrptionJourAuDelaDe) ~ poly(TpsenJour, 2) * fact, data = mydataANOVA)
fact<-c(rep('a',1000),rep('b',1000))
pred <- expand.grid(TpsenJour = seq(min(mydataANOVA$TpsenJour), max(mydataANOVA$TpsenJour), length.out = 1e3),
fact = unique(mydataANOVA$fact))
pred <- cbind(pred,
exp(predict(fit,
newdata = data.frame(TpsenJour = pred$TpsenJour),
interval = "confidence")))
ggplot(data = DF, aes(x = TpsenJour, y = PrptionJourAuDelaDe, color = fact)) +
geom_point() +
geom_ribbon(data = pred, aes(y = fit, ymin = lwr, ymax = upr, fill = fact), alpha = 0.3) +
geom_line(data = pred, aes(y = fit, color = fact))
dann bekomme ich die folgende Handlung:
Danke nochmal, ich verstehe nicht warum, aber wenn ich den dritten Teil mit dem 'exp (vorhergesagt (...' Ich bekomme einen Fehler mit Fehler in eval (expr, envir, enclos): object 'Tatsache "nicht gefunden" Ich weiß nicht genau woher das kommt, hast du irgendwelche Ideen? Ich habe versucht zu sehen, ob ich es beheben kann, aber ich habe entweder den gleichen oder einen neuen Fehler. Ich weiß auch, dass das nicht der Fall war Die Frage, aber ohne ins Detail zu gehen, hätten Sie ein besseres Modell, das ich verwenden könnte? – PaoloH
Ich habe den Beitrag bearbeitet, um zu erklären, wie ich den Fehler behoben haben könnte. Solange meine Änderungen korrekt sind, beantwortet dies meine Frage. Danke. – PaoloH
Nein, 'Tatsache' ist eine Spalte in' mydataANOVA'. Ich habe dem data.frame einen kürzeren Namen gegeben. Du solltest nicht einmal 'DF' haben, damit' facet <-DDF $ fact' nicht gemacht wird Sinn. – Roland