Diskussion:GNU R: SPSS Cross-Reference

Letzter Kommentar: vor 12 Jahren von Jake2042 in Abschnitt Gelöst

LiebeR SPSS-BenutzerIn!

Die Crossreference-Seite ist in Bearbeitung. Welche Übergangs-Probleme und Fragen zur Syntax sollen hier noch aufgenommen werden? Was fehlt, was macht Probleme? Wie erreiche ich die SPSS-Funktion "X" in R? Bitte einfach auf >Bearbeiten< klicken und die Frage in das Textfeld eintragen.


Europol

Ich bin der Meinug, dass WEIGHT BY völlig falsch übersetzt wird. Die Gewichtung in SPSS ist keine Multiplikation!
Ich denke, dass die "SPSS-Gewichtung" (Frequency-weights) in R nicht implementiert ist. Diese Gewichtung müsste in allen Prozeduren als neue Größe berücksichtigt werden.
Danke für den Hinweis. Das ist vollkommen richtig. Ich habe den WEIGHT-Eintrag am Anfang meiner Beteiligung bei GNU R gemacht und jetzt korrigiert. Ich halte es für ein schwerwiegendes Problem, dass es diese Option in R nicht gibt. Ich habe für Tabellen und Korrelationen selbst eine entsprechende Routine geschrieben (die Formeln nach der SPSS gewichtet - gibt es übrigens bei der Dokumentation zu SPSS), aber natürlich sollten alle Funktionen eine globale weight Variable beachten, was derzeit leider nicht der Fall ist. Euro 11:18, 9. Nov. 2007 (CET)Beantworten

weight cases

Bearbeiten

Kann man das SPSS-Kommando weight cases nicht mit der Funktion rep simulieren? Angenommen die Variable Gewicht enthält das jeweilige Gewicht und die Variable x soll damit gewichtet werden. Dann sollte doch das Kommando wx <- rep(x, Anzahl) genau das machen, das in SPSS weight cases by macht, oder?

Tschüss Jens

Hallo,

die if-Funktion kann doch folgendermaßen nachbilden

>gpartner

 [1]    0    0    0    0    0    1    1    1    1    1    1    1    1    1    1
[16]    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1
[31]    1    1    1    1    1    1    1    1    1    1    1    1    1    1    1
[46]    1    1    1    1    1    1    1    1    1    2    2    2    2    3    3
[61]    3    3    3    4    4    4    4    4    4    4    4    4    5    5    5
[76]    5    6    6    6    6    7    8    9    9   10   10   10   11   11   12
[91]   12   12   13   15   15   18   19   19   30   30   40   45  150  150 6000

> gpartner[gpartner >= 6000] <- NA

> gpartner

 [1]   0   0   0   0   0   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
[24]   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
[47]   1   1   1   1   1   1   1   1   2   2   2   2   3   3   3   3   3   4   4   4   4   4   4
[70]   4   4   4   5   5   5   5   6   6   6   6   7   8   9   9  10  10  10  11  11  12  12  12
[93]  13  15  15  18  19  19  30  30  40  45 150 150  NA

Tschüss Jens

Levene-Test auf Varianzgleichheit

Bearbeiten

Wenn ich in SPSS einen t-Test für unabhängige Stichproben durchführe, wird automatisch auch ein Levene-Test auf Varianzgleichheit erstellt. Bei der folgenden Datenmatrix:

id kar bst
1 1 0
2 0 1
3 0 1
4 1 1
5 0 1
6 1 0
7 1 0
8 0 1
9 1 0
10 1 0
11 1 1
12 0 1
13 0 0
14 1 0
15 1 0
16 0 1
17 0 1
18 0 0
19 1 1
20 0 1

führt:

 T-TEST
   GROUPS = kar(0 1)
   /MISSING = ANALYSIS
   /VARIABLES = bst
   /CRITERIA = CI(.95) .

zu einer Ausgabe, die mir für den Levene-Test die Testgröße F mit 0,987 und die Irrtumswahrscheinlichkeit p mit 0,334 angibt.

Wenn ich in R zunächst dieselbe Datenmatrix erstelle (nur, dass für die Gruppierungsvariable kar statt 0 "nein" und statt 1 "ja" gesetzt ist):

 rm(list=ls())
 id<-c(1:20)
 kar<-c("ja","nein","nein","ja","nein","ja","ja","nein","ja","ja","ja",
        "nein","nein","ja","ja","nein","nein","nein","ja","nein")
 bst<-c(0,1,1,1,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,1)
 kar.bst<-data.frame(id,kar,bst)
 rm(id,kar,bst)
 kar.bst
 attach(kar.bst)
 table(bst,kar)

und dann einen Levene-Test durchführe:

 library(car)
 levene.test(bst,kar,center=mean)

dann bekomme ich folgenden Output:

 Levene's Test for Homogeneity of Variance
       Df F value Pr(>F)
 group  1  0.2432 0.6278
       18             

Das heißt also, für die Testgröße F wird 0,243 und für die Irrtumswahrscheinlichkeit p wird 0,628 angegeben.

  • Frage 1: Woran liegt das? Warum bekomme ich unterschiedliche Werte?
  • Frage 2: Gibt es einen Weg, in R dieselben Ergebnisse für den Levene-Test zu produzieren, wie in SPSS und wenn ja, welchen (oder welche)?
  • Frage 3: (falls das jemand weiß) Welchen mathematischen Hintergrund haben die unterschiedlichen Angaben in SPSS und in R? Kann ich im Notfall mir in R eine Funktion selbst basteln, die die SPSS-Ausgabe für den Levene-Test produziert und wenn ja, wie?

Viele Grüße --Jake2042 04:20, 21. Jul. 2012 (CEST)Beantworten

Gelöst

Bearbeiten

Nachdem ich R von Version R-2.10.1 auf 2.12.2 upgedatet und die Befehlsfolge:

 library(car)
 library(lawstat)
 levene.test(bst,kar.grp,location=c("mean"))


eingegeben habe, bekomme ich, nachdem die beiden library-Befehle abgearbeitet worden sind, folgenden Output:

 classical Levene's test based on the absolute
    deviations from the mean ( none not applied because
    the location is not set to median )
 
 data:  bst
 Test Statistic = 0.9868, p-value = 0.3337

Jetzt stimmt’s also. Hier ist nun das ganze Programm:

 rm(list=ls())
 id<-c(1:20)
 kar<-c("ja","nein","nein","ja","nein","ja","ja","nein","ja","ja","ja","nein",
        "nein","ja","ja","nein","nein","nein","ja","nein")
 bst<-c(0,1,1,1,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,1)
 kar.bst<-data.frame(id,kar,bst)
 rm(id,kar,bst)
 kar.bst
 attach(kar.bst)
 table(bst,kar)
 library(car)
 library(lawstat)
 levene.test(bst,kar.grp,location=c("mean"))

Viele Grüße --Jake2042 10:05, 21. Jul. 2012 (CEST)Beantworten

Zurück zur Seite „GNU R: SPSS Cross-Reference“.