Ich bin ein neuer R. Ich versuche, eine Regressionslinie in ggplot mit geom_smooth (method = lm) zu passen.Variationen in Regressionslinie Steigung für log-log ggplot
Ich bemerke zufällig, dass für den gleichen Datensatz die Steigung der Regressionslinie verändert wird, wenn die Achsen von linear-linear zu linear-log und log-log geändert werden, so sehr, dass der y-Achsenabschnitt ist anders und die Korrelation scheint ebenfalls unwahr zu sein.
Die Korrelation co-effecient für die Daten (r) -0,125
conc <- c(1.5188717, 1.8794363, 2.5455899, 1.5810686, 0.4938004, 2.9526288)
absp <- c(6.975519, 2.279606, 2.265391, 1.611868, 1.379097, 1.324827)
mydata <- data.frame(conc, absp)
corr_eqn <- function(x, y) {
corr_coef <- round(cor(x, y), digits=3)
paste("italic(r) == ", corr_coef)
}
value <- data.frame(r=corr_eqn(conc, absp))
1. Ich habe meine Daten auf einen ersten linearen Skala aufgetragen. Hier ist der y-Abschnitt erscheint ~ 3,1
ggplot(mydata, aes(x=conc, y=absp)) +
labs(x="Conc.", y="Absp.") +
scale_x_continuous() +
scale_y_continuous(breaks=c(0,1,2,3,4,5,6,7)) +
geom_point(size=4) +
theme(text = element_text(size=18, face="bold"), legend.position="none")+
geom_smooth(method=lm, se=FALSE) +
geom_text(data=value, aes(x=2, y=6, label=r),
colour="red", size=5, parse=TRUE)
2. Aber zu sein, wenn ich die y-Achse zu log2 Skala verändern und die x-Achse bleibt in linear, der y-Abschnitt erscheint zwischen 2 und 3.
ggplot(mydata, aes(x=conc, y=absp)) +
labs(x="Conc.", y="Absp. (log2)") +
scale_x_continuous() +
scale_y_continuous(trans=log2_trans(),breaks=c(0,1,2,3,4,5,6,7)) +
annotation_logticks(sides="l") +
geom_point(size=4) +
theme(text = element_text(size=18, face="bold"), legend.position="none")+
geom_smooth(method=lm, se=FALSE) +
geom_text(data=value, aes(x=2, y=6, label=r),
colour="red", size=5, parse=TRUE)
3. und schließlich, wenn sowohl y und I x-Achse zu log2 Skala verändern, fällt der y-Achsenabschnitt auf weniger als 2, und die Steigung wird jetzt positiv.
ggplot(mydata, aes(x=conc, y=absp)) +
labs(x="Conc. (log2)", y="Absp. (log2)") +
scale_x_continuous(trans=log2_trans()) +
scale_y_continuous(trans=log2_trans(),breaks=c(0,1,2,3,4,5,6,7)) +
annotation_logticks(sides="lb") +
geom_point(size=4) +
theme(text = element_text(size=18, face="bold"), legend.position="none")+
geom_smooth(method=lm, se=FALSE) +
geom_text(data=value, aes(x=2, y=6, label=r),
colour="red", size=5, parse=TRUE)
ich scheinen nicht zu verstehen, wie die Steigung oder y-Schnittpunkte können nur von der Achse von linear durch Änderung ändern Waage anmelden? Habe ich hier einen offensichtlichen Fehler begangen oder fehle ich etwas? Ich wäre dankbar für jede Hilfe/Beratung.
Danke, aber das Problem Persits noch für log-log-Skalen. – leo1
Ich verstehe es nicht. Genau das passiert auch dort.'2^coef (lm (log2 (absp) ~ log2 (conc), Daten = mydata)) [1]' ergibt 2.075 und das ist der Wert, den Sie bei Conc = 1 sehen. – Roland