Diskussion:GNU R: SPSS Cross-Reference
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.
- 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)
weight cases
BearbeitenKann 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
BearbeitenWenn 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)
Gelöst
BearbeitenNachdem 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)