logarithmische Regression
Moderator: EDi
logarithmische Regression
Guten Morgen,
ich bin totaler Anfänger in RStudio und soll anhand von Daten eine Funktion erstellen.
Meine Daten sind:
Fläche - Punkte
0,75 - 1
1,25 - 2
2,25 - 3
4 - 4
6,5 - 5
11,5 - 6
20 - 7
32,5 - 8
47,5 - 9
62,5 - 10
77,5 - 11
85 - 12
90 - 12
100 - 12
Die Tabelle ist so zu verstehen, dass man für 0,75 % der landwirtschaftlich genutzen Fläche 1 Punkt bekommt usw.
Ich soll nun aus diesen Daten eine kontinuierliche Funktion erstellen. In R habe ich die Daten bereits geplottet.
Jetzt ist meine Frage, wie ich daraus eine (logarithmische) Funktion erstellen kann?
Kann mir da vielleicht jemand helfen? Ich würde mich riesig über Antworten freuen.
Ganz liebe Grüße,
Saskia
ich bin totaler Anfänger in RStudio und soll anhand von Daten eine Funktion erstellen.
Meine Daten sind:
Fläche - Punkte
0,75 - 1
1,25 - 2
2,25 - 3
4 - 4
6,5 - 5
11,5 - 6
20 - 7
32,5 - 8
47,5 - 9
62,5 - 10
77,5 - 11
85 - 12
90 - 12
100 - 12
Die Tabelle ist so zu verstehen, dass man für 0,75 % der landwirtschaftlich genutzen Fläche 1 Punkt bekommt usw.
Ich soll nun aus diesen Daten eine kontinuierliche Funktion erstellen. In R habe ich die Daten bereits geplottet.
Jetzt ist meine Frage, wie ich daraus eine (logarithmische) Funktion erstellen kann?
Kann mir da vielleicht jemand helfen? Ich würde mich riesig über Antworten freuen.
Ganz liebe Grüße,
Saskia
Re: logarithmische Regression
Hallo Saskia,
willkommen im Forum!
Du hast die Daten schon eingelesen? Dann packe doch bitte den output vonin Deine nächste Nachricht.
Formatiere den output passend
- siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Gruß, Jörg
willkommen im Forum!
Du hast die Daten schon eingelesen? Dann packe doch bitte den output von
Code: Alles auswählen
dput(DeinDataframe)
Formatiere den output passend
- siehe http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Gruß, Jörg
Re: logarithmische Regression
Hallo Jörg,
vielen Dank für deine Antwort.
Ich hoffe, dass es so richtig ist?
Viele Grüße,
Saskia
vielen Dank für deine Antwort.
Ich hoffe, dass es so richtig ist?
Code: Alles auswählen
structure(list(Fläche = c(0.75, 1.25, 2.25, 4, 6.5, 11.5, 20,
32.5, 47.5, 62.5, 77.5, 80), Punkte = c(1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12)), row.names = c(NA, -12L), class = c("tbl_df",
"tbl", "data.frame"))
Saskia
Re: logarithmische Regression
Hallo Saskia,
das "ä" in Fläche würde ich nicht nehmen. Kann funktionieren, kann irgendwann plötzlich schief gehen.
Hilft Dir folgendes?
LG,
Bernhard
das "ä" in Fläche würde ich nicht nehmen. Kann funktionieren, kann irgendwann plötzlich schief gehen.
Hilft Dir folgendes?
Code: Alles auswählen
werte <- structure(list(Flaeche = c(0.75, 1.25, 2.25, 4, 6.5, 11.5, 20,
32.5, 47.5, 62.5, 77.5, 85, 90, 100), Punkte = c(1L, 2L, 3L,
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 12L, 12L)), .Names = c("Flaeche",
"Punkte"), class = "data.frame", row.names = c(NA, -14L))
plot(werte$Punkte, werte$Flaeche)
plot(werte$Punkte, log(werte$Flaeche))
modell <- lm(log(Flaeche) ~ Punkte, data = werte)
summary(modell)
plot(werte$Punkte, werte$Flaeche, xlab="Punkte", ylab="Fläche")
curve(exp(.4346*x - .3935), from = .5, to = 12, add = TRUE, col="blue")
text(9.5, 90, expression(e^{.4346*Punkte - .3935}), col="blue")
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: logarithmische Regression
Moin Bernhard,
vielen, vielen Dank für deine Mühe.
Der Ansatz ist super. Ich habe jetzt probiert, die Variablen zu tauschen. Das Ziel ist nämlich, dass ich von der Fläche auf die Punkte schließen kann.
Ich bin leider kläglich gescheitert.
Hier mein Code (nicht wundern - ich habe die letzten drei Datenpaare rausgenommen, da es ab 85% der Fläche 12 Punkte gibt)
Hast du eine Idee, welchen Fehler ich gemacht habe?
Ganz liebe Grüße und vielen Dank,
Saskia
vielen, vielen Dank für deine Mühe.
Der Ansatz ist super. Ich habe jetzt probiert, die Variablen zu tauschen. Das Ziel ist nämlich, dass ich von der Fläche auf die Punkte schließen kann.
Ich bin leider kläglich gescheitert.
Hier mein Code (nicht wundern - ich habe die letzten drei Datenpaare rausgenommen, da es ab 85% der Fläche 12 Punkte gibt)
Code: Alles auswählen
werte <- structure(list(Flaeche = c(0.75, 1.25, 2.25, 4, 6.5, 11.5, 20,
32.5, 47.5, 62.5, 77.5), Punkte = c(1L, 2L, 3L,
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L)), .Names = c("Flaeche",
"Punkte"), class = "data.frame", row.names = c(NA, -14L))
plot(werte$Flaeche, werte$Punkte)
plot(werte$Flaeche, log(werte$Punkte))
modell <- lm(log(Punkte) ~ Flaeche, data = werte)
summary(modell)
plot(werte$Flaeche, werte$Punkte, xlab="Fläche", ylab="Punkte")
curve(exp(0.02127*x + 1.0763), from = .5, to = 80, add = TRUE, col="blue")
Ganz liebe Grüße und vielen Dank,
Saskia
Re: logarithmische Regression
Hallo Saskia,
der Zusammenhang log(Punkte) ~ Fläche ist nicht linear. Der Zusammenhang Punkte ~ log(Fläche) hingegen ist linear:
LG,
Bernhard
der Zusammenhang log(Punkte) ~ Fläche ist nicht linear. Der Zusammenhang Punkte ~ log(Fläche) hingegen ist linear:
Code: Alles auswählen
plot(werte$Punkte ~ log(werte$Flaeche), xlab = "log(Fläche)", ylab="Punkte")
abline(lm( Punkte ~ log(Flaeche), data = werte), col="blue")
axis(3, at=log(c(1, 2, 5, 10, 20, 50, 100)), labels=c(1, 2, 5, 10, 20, 50, 100))
mtext("Fläche", 3, 2.5)
summary(lm( Punkte ~ log(Flaeche), data = werte))
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: logarithmische Regression
Vielen, vielen Dank für Deine Hilfe!
Du hast mir echt den Tag gerettet
Ganz liebe Grüße,
Saskia
Du hast mir echt den Tag gerettet
Ganz liebe Grüße,
Saskia