SPSS-Daten, Variablen werden nicht erkannt

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
et75
Beiträge: 9
Registriert: Mi Jun 28, 2017 8:00 am

SPSS-Daten, Variablen werden nicht erkannt

Beitrag von et75 »

Guten Morgen zusammen,

ich bin absoluter R-Neuling und habe bislang weitestgehend mit SPSS gearbeitet.
Großes Ziel ist die Suche nach einer nonparametrischen Alternative zur MANOVA, daher der Wechsel.

Es hapert nun aber schon am Einlesen der SPSS-Datenmatrix.
Folgende Befehle habe ich eingegeben.

Code: Alles auswählen

Daten <- read.spss("...", to.data.frame = TRUE, , header = TRUE, use.value.labels=FALSE)
Daten.of.interest <- Daten[c(7:8, 51:52, 132, 313:314, 542:544, 560)]
Daten.Filter <- subset(Daten.of.interest, (Geschlecht == 1 | Geschlecht == 2) & Age>=18 & Dauer > 1)
Bis dahin hat auch alles gut geklappt, doch wenn ich z.B. einen Mittelwert errechnen möchte, werden die Variablen nicht erkannt.

Code: Alles auswählen

> tapply(Age, Daten.Filter$Group, mean)
Fehler in tapply(Age$PlatenFilter, Platen.Filter$AEM_PPS_4, mean) : 
  Objekt 'Age' nicht gefunden
Muss ich die Variablen bzw. Objekte noch anderweitig definieren?
Für einen Rat wäre ich sehr dankbar.

Viele Grüße, Laura
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: SPSS-Daten, Variablen werden nicht erkannt

Beitrag von bigben »

Hi Laura,

Funktioniert

Code: Alles auswählen

tapply(Daten.Filter$Age, Daten.Filter$Group, mean)
:?:

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
et75
Beiträge: 9
Registriert: Mi Jun 28, 2017 8:00 am

Re: SPSS-Daten, Variablen werden nicht erkannt

Beitrag von et75 »

Hi Bernhard,
tatsächlich, das funktioniert! Vielen vielen Dank!

D.h. Daten.Filter$ sollte dem Variablennamen immer vorangestellt werden?
Viele Grüße, Laura
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: SPSS-Daten, Variablen werden nicht erkannt

Beitrag von bigben »

Hi!

Du hast halt nicht eine SPSS-Tabelle, sondern kannst gleichzeitig beliebig viele Tabellen (Dataframes) gleichzeitig in einer Sitzung haben und die dürfen alle eine Spalte 'Age" haben. Du hast beispielsweise sowohl den Dataframe 'Daten' als auch den Dataframe 'Daten.Filter' in Deinem Namespace. R muss irgendwoher wissen, auf welchen Dataframe Du Dich gerade beziehst.

Das geht fast immer, indem Du Daten.Filter$ voran stellst. Das geht alternativ mit einer Funktion namens 'with()'. Letztere macht einem das Leben leichter, wenn man viele Spaltennamen aus dem gleichen Dataframe in einer Anweisung hat. Viele Funktionen lösen das mit einem 'data='-Argument. Wenn Du beispielsweise eine lineare Regression rechnen willst, dann hat die Funktion für lineare Regressionen das intern mit einem solchen Argument gelöst. Das allermeiste kannst Du aber auch mit 'Daten.Filter$' lösen (es gibt ein Grafikpaket, dass sich da ein wenig anstellt, aber sonst klappt das fast immer).

Viele Tutorials und manche Lehrer lösen das alternativ mit einem 'attach()'-Statement. Hier im Forum herrscht Einigkeit, dass man von 'attach' die Finger lassen sollte.

Viel Spaß mit R - Du wirst sehen, dass all diese anfangs etwas lästig erscheinenden Dinge im weiteren Verlauf dann viel Sinn machen.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
et75
Beiträge: 9
Registriert: Mi Jun 28, 2017 8:00 am

Re: SPSS-Daten, Variablen werden nicht erkannt

Beitrag von et75 »

Hallo Bernhard,
ich wollte mich nochmal herzlich für die Hilfe bedanken!
Es hat tatsächlich funktioniert, und ich bin ganz schön begeistert ;)
Werde hier sicherlich noch öfter ins Forum schauen!
Eine schöne restliche Woche, Laura
Antworten