Seite 2 von 3

Re: Nachhilfe für R gesucht

Verfasst: Di Nov 10, 2020 8:00 am
von bigben
Student2020 hat geschrieben: Mo Nov 09, 2020 10:34 pm

Code: Alles auswählen

 Test1 <- lm(A ~ Infuence A + Safety, data = Excel1)
Ohne es ausprobiert zu haben würde ihc mal denken, es liegt an dem Leerzeichen in "Influence A". R findet weder eine Spalte "Influence" noch eine Spalte "A". Am besten benennst Du die Spalte um in InfluenceA oder Influence.A oder Influence_A oder "IA". Du kannst den Spaltennamen auch so lassen, musst ihn dann aber in Anführungszeichen stellen, damit R weiß, dass die beiden Wörter zusammengehören.

Code: Alles auswählen

Test1 <- lm(2002 ~ 2003 + 2004, data = Excel1)
Da fragt R sich wahrscheinlich, ob es die Zahlen aufeinander regressieren soll. Auch das ist wieder eine Frage der Spaltennamen und Spalten sollten nie so heißen wie eine Zahl. Wenn Du jogos "dat" einmal mit "head(dat)" anschaust siehst Du, dass er nicht die Jahreszahlen als Spaltennamen übernommen hat.

HTH,
Bernhard

Re: Nachhilfe für R gesucht

Verfasst: Di Nov 10, 2020 8:20 am
von jogo
Hallo Student2020,

wenn Du die Daten so einliest,
dann sind die Variablen nicht in den Spalten sondern in den Zeilen.
Das Komma als Tausendertrennzeichen wird Probleme verursachen. Bei so einer kleinen Tabelle kann man das noch per Hand bearbeiten, ansonsten im Ursprungsprogramm die Formatierung ändern.

hier ein Ansatz:

Code: Alles auswählen

Excel1a <- read.table(text=
"2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
A 381.26 578.32 272.07 279.62 596.21 707.22 1180.73 910.91 868.82 0.00 0.00
B 313.92 257.48 289.75 307.76 365.42 265.02 331.77 479.44 623.13 0.00 0.00
C 5.29 2.65 27.11 49.89 92.23 36.55 87.29 64.88 126.63 0.00 0.00
'Infuence A' 9.59 9.09 9.75 11.71 11.59 11.42 11.00 11.75 11.93 6.67 5.98
Safety 4.00 4.00 4.67 6.42 6.76 6.00 6.60 6.00 6.00 6.00 6.00
Environment 2.00 2.00 3.98 4.50 4.50 4.50 4.41 3.03 3.50 3.50 3.50")

Excel1 <- as.data.frame(t(Excel1a))
lm(A ~ `Infuence A` + Safety, data = Excel1) 
# das Leerzeichen im Spaltennamen erfordert zusätzliche Arbeit (siehe Nachricht von Bernhard)

# die nächste Regression wieder auf der ursprünglichen Tabelle; beachte: beim Einlesen wurden die Spaltennamen verändert
lm(X2002 ~ X2003 + X2004, data = Excel1a)
noch eines zur zukünftigen Beachtung:
viewtopic.php?f=20&t=29

Gruß, Jörg
Student2020 hat geschrieben: Mo Nov 09, 2020 10:34 pm Wenn ich folgende Daten einziehe, wieso bekomme ich dann einen Fehler für die Regression?
2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
A 381.26 578.32 272.07 279.62 596.21 707.22 1,180.73 910.91 868.82 0.00 0.00
B 313.92 257.48 289.75 307.76 365.42 265.02 331.77 479.44 623.13 0.00 0.00
C 5.29 2.65 27.11 49.89 92.23 36.55 87.29 64.88 126.63 0.00 0.00
Infuence A 9.59 9.09 9.75 11.71 11.59 11.42 11.00 11.75 11.93 6.67 5.98
Safety 4.00 4.00 4.67 6.42 6.76 6.00 6.60 6.00 6.00 6.00 6.00
Environment 2.00 2.00 3.98 4.50 4.50 4.50 4.41 3.03 3.50 3.50 3.50

> Test1 <- lm(A ~ Infuence A + Safety, data = Excel1)
Error in terms.formula(formula, data = data) :
invalid term in model formula
> Test1 <- lm(2002 ~ 2003 + 2004, data = Excel1)
Error in terms.formula(formula, data = data) :
invalid term in model formula

Wenn jemand eine Idee hätte wäre das super hilfreich. :)

Vielen Dank im Voraus!

Re: Nachhilfe für R gesucht

Verfasst: Di Nov 10, 2020 11:33 am
von EDi
R stellt ein paar Bedingungen an Spaltennamen, siehe

Code: Alles auswählen

?make.names
Das erklärt auch die Veränderungen.

Natürlich gibt es Wege drumrum, sonst wäre es nicht R ;)

Re: Nachhilfe für R gesucht

Verfasst: Di Nov 10, 2020 8:29 pm
von Student2020
Erst mal vielen Dank für die Hilfe! Damit hat es nun endlich geklappt. Yippie der erste erfolgreiche Test. :)
bigben hat geschrieben: Di Nov 10, 2020 8:00 am Ohne es ausprobiert zu haben würde ihc mal denken, es liegt an dem Leerzeichen in "Influence A".
[...]
Da fragt R sich wahrscheinlich, ob es die Zahlen aufeinander regressieren soll.
Das wurde angepasst. Den Header übernimmt R eigentlich automatisch beim Importieren.
jogo hat geschrieben: Di Nov 10, 2020 8:20 am dann sind die Variablen nicht in den Spalten sondern in den Zeilen.

Das Komma als Tausendertrennzeichen wird Probleme verursachen.
Jörg auch nochmal danke für die Codes. Damit hat es letzendlich funktioniert.
Die Funktion ist besonders nützlich, damit werde ich nun öfteres arbeiten: <- as.data.frame(t())
jogo hat geschrieben: Di Nov 10, 2020 8:20 am viewtopic.php?f=20&t=29
EDi hat geschrieben: Di Nov 10, 2020 11:33 am

Code: Alles auswählen

?make.names
Die zwei Information habe ich mir durchgelesen.

Eigentlich ist R doch sehr anwenderfreundlich und leicht bedienbar, mit etwas Hilfe und wenn man die Basics lernt / versteht. Ich muss das nur noch etwas besser lernen. Durch eigene Recherche auf die oben genannten Sachen zu kommen, hätte sehr viel mehr Zeit beansprucht. :)

Re: Nachhilfe für R gesucht

Verfasst: Mi Nov 11, 2020 4:44 pm
von EDi
Ist noch kein Meister vom Himmel gefallen...

Die Lernkurve von R ist (leider) sehr steil. Hat man aber den anfänglich sehr steilen Anstieg mal überwunden, ist man für so ziemlich alles gewappnet was Daten angeht...

Re: Nachhilfe für R gesucht

Verfasst: So Feb 21, 2021 8:55 pm
von Student2020
Hallo in die Runde,

ich hätte noch zwei Fragen, kennt jemand von euch vielleicht diese Art Der Berechnung und weiß wie man das als Funktion aufstellen kann?
data1$Variable1Z <- scale(data1$Variable1)
Das hatt ich in einem Model gesehen aber leider ohne Funktion.

Und bei einer Auswertung kam Folgendes heraus:
Kann ich die Auswertung trotz der NaN Meldung am Anfang verwenden?
Ich würde die Variable gerne behalten: CountryA: Debt p-value 0.0118

Value Std.Error DF t-value p-value
(Intercept) 6809.771 2520.690 356 2.7015509 0.0072
GDP.per.capita 0.223 0.145 356 1.5381186 0.1249
CountryA -6288.853 2668.819 0 -2.3564179 NaN
CountryB -3518.576 3437.870 0 -1.0234755 NaN
Debt -46.030 16.967 356 -2.7128936 0.0070
Safety 4.823 59.244 356 0.0814030 0.9352
Debt to GDP -232.396 144.910 356 -1.6037305 0.1097
Stability 17.035 211.869 356 0.0804058 0.9360
Institutions -252.606 1050.537 356 -0.2404538 0.8101
GDP.per.capita: CountryA -0.136 0.155 356 -0.8779198 0.3806
GDP.per.capita: CountryB -0.101 0.203 356 -0.4969307 0.6195
CountryA: Debt 44.325 17.507 356 2.5318343 0.0118
CountryB: Debt . 12.696 23.569 356 0.5386625 0.5905
CountryA: Safety -4.440 62.981 356 -0.0704912 0.9438
CountryB: Safety 48.825 82.782 356 0.5897959 0.5557
CountryA: Debt to GDP 186.208 153.274 356 1.2148668 0.2252
CountryB: Debt to GDP 122.269 192.647 356 0.6346766 0.5260
CountryA: Stability -324.025 196.662 356 -1.6476241 0.1003
CountryB: Stability -296.566 245.809 356 -1.2064888 0.2284
CountryA: Institutions -140.759 155.218 356 -0.9068448 0.3651
CountryB: Institutions -65.070 194.946 356 -0.3337827 0.7387

Re: Nachhilfe für R gesucht

Verfasst: So Feb 21, 2021 9:09 pm
von EDi
0 Freiheitsgrade sollten einen immer misstrauisch machen!


Die erste Frage verstehe ich nicht...

Re: Nachhilfe für R gesucht

Verfasst: So Feb 21, 2021 9:44 pm
von bigben
Student2020 hat geschrieben: So Feb 21, 2021 8:55 pm kennt jemand von euch vielleicht diese Art Der Berechnung und weiß wie man das als Funktion aufstellen kann?
data1$Variable1Z <- scale(data1$Variable1)
Gib mal in R

Code: Alles auswählen

help("scale")
ein. Das funktioniert mit allen mit R ausgelieferten Funktionen.

LG,
Bernhard

Re: Nachhilfe für R gesucht

Verfasst: So Feb 21, 2021 9:59 pm
von Student2020
bigben hat geschrieben: So Feb 21, 2021 9:44 pm
Student2020 hat geschrieben: So Feb 21, 2021 8:55 pm kennt jemand von euch vielleicht diese Art Der Berechnung und weiß wie man das als Funktion aufstellen kann?
data1$Variable1Z <- scale(data1$Variable1)
Gib mal in R

Code: Alles auswählen

help("scale")
ein. Das funktioniert mit allen mit R ausgelieferten Funktionen.

LG,
Bernhard
Ich habe die Begriffe schon gesucht, aber mit ist daraf nicht klar wie ich die Funktion aufstellen kann (y = x, etc.). Mal gucken ob die Hilfe über R besser ist.
EDi hat geschrieben: So Feb 21, 2021 9:09 pm 0 Freiheitsgrade sollten einen immer misstrauisch machen!


Die erste Frage verstehe ich nicht...
Das bedeutet die Auswertung ist nicht aussagekräfti genugg? Was genau bedeutet es wenn es für die Partei "Not a number" gibt von Inhalt her?

Re: Nachhilfe für R gesucht

Verfasst: So Feb 21, 2021 10:11 pm
von bigben
Student2020 hat geschrieben: So Feb 21, 2021 9:59 pmDas bedeutet die Auswertung ist nicht aussagekräfti genugg? Was genau bedeutet es wenn es für die Partei "Not a number" gibt von Inhalt her?
Das bedeutet, dass Deine Daten zu einer Beurteilung der Schätzung von Koeffizienten für Country A und B nicht ausreichen und dass man mit Null Freiheitsgraden keinen p-Wert berechnen kann.

Wenn man vorher nichts zum Inhalt der Arbeit, zur Fragestellung der Regression, der Erhebung der Daten gesagt hat, dann erübrigt sich in der Regel auch die Frage nach einer Interpretation der Ergebnisse vom Inhalt her.

Für Deine Suche nach der scale-Funktion könnte der Wikipedia-Eintrag zu Feature Scaling hilfreich sein: https://en.wikipedia.org/wiki/Feature_scaling