Frage

R Version: 2.12.2 / OS: Windows XP

Daten, die ich abfragen und manipulieren muss, werden in einer SPSS .SAV -Datei (Größe ~ 112MB) gespeichert, und ich habe sehr grundlegendes Wissen über die SPSS -Syntax. Ich fühle mich mit R viel wohler (und bevorzuge es im Allgemeinen für Datenmanipulationen und -analyse), daher habe ich die SPSS-Datei als tab delimitierte Datei (Größe ~ 85 MB) gespeichert und versucht, sie mit Funktionen aus dem RODBC-Paket abzufragen.

Verwenden Sie die Anwendung "Datenquellen (ODBC)" in der Gruppe "Administrative Tools" im Windows-Bedienfeld, ich richte eine Datenbank (Windows-Ordner) mit Tabellen (tab-delimitierte Dateien) mit dem Microsoft-Text-Treiber ein.

Die aktuelle Zinsentwicklung hat ein "Datums" -Feld (als "DateTime" bezeichnet), in dem Daten "%y/%M/%d" formatiert werden. Als ich zum ersten Mal versuchte, die Datenbank mit Bedingungen in diesem Feld abzufragen, wurde ich ein Ergebnis mit Nullbeobachtungen zurückgegeben. Also habe ich 'DateTime' in Datentypen -Zeichen geändert und meine Abfrage erneut ausprobiert (ohne Erfolg).

Ich kann die Datenbank erfolgreich abfragen, dh

sqlQuery(channel = cn, query = "SELECT * FROM large_table.txt", as.is = TRUE, stringsAsFactors = FALSE, max = 20)

Gibt Ergebnisse zurück. Die folgenden Abfragen rechnen Ergebnissätze mit null Beobachtungen (ich habe überprüft, ob es mindestens einen Datensatz mit dem Wert "2011/04/01" in seinem Feld "DateTime" gibt).

sqlQuery(channel = cn, query = "SELECT DateTime FROM large_table.txt WHERE DateTime = {d '2011-04-01'}", as.is = TRUE, stringsAsFactors = FALSE)

sqlQuery(channel = cn, query = "SELECT DateTime FROM large_table.txt WHERE DateTime = '2011/04/01'", as.is = TRUE, stringsAsFactors = FALSE)

Kann mir jemand sagen, warum das Ergebnissatz keine Beobachtungen hat?

Alle Vorschläge zur Verbesserung meiner Datenbankverbindung oder Abfrage werden sehr geschätzt. Ich bevorzuge es, das RODBC-Paket anstelle eines anderen Datenbank-Query-Pakets zu verwenden, bin aber bereit, bei Bedarf etwas Neues auszuprobieren.

War es hilfreich?

Lösung

Ich würde das 'Memisc' -Paket dafür verwenden. Richten Sie SPSS.System.File () Importeure für Ihre 3 SPSS-Dateien ein, unterscheiden Sie mit der MEMISC-Version, um in R nur die benötigten Variablen zu laden, einschließlich der Handhabung von Benutzern-Levels.

Es gibt einige Kuriositäten in Bezug auf die Einrichtung von SPSS -Dateien - es ist ziemlich häufig, dass SPSS -Dateien mit numerischen Variablen eingestellt werden, was ein Sortieren des R -Endes in ein Intervall -Skalierung mit geeignetem NAS hat.

Andere Tipps

Sie können sich viel Ärger sparen, indem Sie die SPSS -Datei direkt in R.

library(foreign)
dat <- read.spss("filename.sav", to.data.frame=TRUE)

Dadurch wird ein Daten zurückgegeben. Der Rahmen, den Sie mit allen normalen R -Tools analysieren können.

Als Nebeneffekt haben Sie auch den Fragebogentext in den Attributen Ihrer Daten.

Sehen ?read.spss für mehr Details.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top