Entfernen von Variablenbezeichnungen, die mit Fremd- / Hmisc-SPSS-Importfunktionen verknüpft sind

8

Wie üblich habe ich eine SPSS-Datei, die ich mit spss.get function aus Hmisc package in R importiert habe. Ich bin mit labelled class belästigt, die Hmisc::spss.get zu allen Variablen in data.frame hinzufügt und daher entfernen will.

labelled class macht mir Kopfschmerzen, wenn ich ggplot ausführen will oder sogar wenn ich eine kleine Analyse machen möchte! Eine Lösung wäre, labelled class aus jeder Variable in data.frame zu entfernen. Wie kann ich das machen? Ist das überhaupt möglich? Wenn nicht, was sind meine anderen Optionen?

Ich möchte Reediting-Variablen wirklich "von Grund auf" umgehen mit as.data.frame(lapply(x, as.numeric)) und as.character , wo anwendbar ... Und ich möchte sicher nicht SPSS ausführen und Labels manuell entfernen (mag SPSS nicht, egal, egal um es zu installieren)!

Danke!

    
aL3xa 07.03.2010, 02:08
quelle

5 Antworten

4

Sie können vermeiden, "etikettierte" Variablen in spss.get mit dem folgenden Argument zu erzeugen:, use.value.labels = FALSE.

%Vor%

Der Code von Bhattacharya könnte fehlschlagen, wenn die Klasse des markierten Vektors einfach "etikettiert" wäre und nicht c ("etikettiert", "Faktor"). In diesem Fall hätte es sein müssen:

%Vor%

Der von Ihnen gemeldete Fehler kann mit diesem Code reproduziert werden:

%Vor%     
42- 29.12.2010, 02:16
quelle
8

So werde ich die Etiketten ganz los. Ähnlich wie Jyotirmoy's Lösung, funktioniert es aber sowohl für einen Vektor als auch für einen Datenrahmen. (Teilkredite an Frank Harrell)

%Vor%

Verwenden Sie wie folgt:

%Vor%     
Dominic Comtois 05.06.2014 22:04
quelle
2

Sie können die Funktion read.spss aus dem Paket foreign ausprobieren.

Eine grobe und einfache Möglichkeit, die labelled -Klasse loszuwerden, die von spss.get

erstellt wurde %Vor%

Aber können Sie bitte ein Beispiel geben, wo labelled Probleme verursacht?

Wenn ich eine Variable MAED in einem Datenrahmen x von spss.get erstellt habe, habe ich:

%Vor%

So gut geschriebener Code, der (etwa) einen Faktor erwartet, sollte keine Probleme haben.

    
Jyotirmoy Bhattacharya 07.03.2010 10:24
quelle
0

Nun, ich habe herausgefunden, dass unclass function verwendet werden kann, um Klassen zu entfernen (wer würde das sagen, aye?!):

%Vor%

Es ist nicht die glücklichste Lösung, stell dir einfach einen rückübersetzenden Haufen Vektoren vor ... Wenn jemand das übertrifft, werde ich es als Antwort ansehen ...

    
aL3xa 10.03.2010 20:01
quelle
0

Angenommen:

%Vor%

Sie können die Beschriftungen einer Variablen namens "var1" entfernen, indem Sie Folgendes verwenden:

%Vor%

Wenn Sie auch die Klasse "labbled" entfernen möchten, können Sie Folgendes tun:

%Vor%

oder wenn die Variable mehr als eine Klasse hat:

%Vor%

Hoffe, das hilft!

    
Emer 09.03.2011 19:42
quelle

Tags und Links