Вопрос

R версия: 2.12.2 / OS: Windows XP

Данные, которые мне нужно запросить и манипулировать, хранятся в файле SPSS .SAV (размер ~ 112 МБ), и у меня есть очень базовые знания синтаксиса SPSS. Я гораздо более комфортно с R (и, как правило, предпочитаю его для манипулирования и анализом данных), поэтому я сохранил файл SPSS в качестве файла, определяемого вкладками (размер ~ 85 МБ) и попытался запросить его, используя функциональность из пакета RODBC.

Используя приложение «Источники данных (ODBC)» в группе административных инструментов на панели управления Windows, я настраиваю базу данных (папку Windows), которая имеет таблицы (файлы с деликацией вкладок) с текстовым драйвером Microsoft.

Текущая процентная таблица имеет поле «Дата» (называемое «DateTime»), где даты отформатированы «%y/%m/%d». Когда я впервые попытался запросить базу данных с условиями в этом поле, я был возвращен результатом с нулевыми наблюдениями. Итак, я изменил «DateTime» на DataType «символ» и снова попробовал свой запрос (безрезультатно).

Я могу успешно запросить базу данных, т.е.

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

возвращает результаты. Следующие запросы возвращают наборы результатов с нулевыми наблюдениями (я подтвердил, что существует как минимум одна запись со значением «2011/04/01» в его поле DateTime).

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)

Кто -нибудь может сказать мне, почему набор результатов не имеет наблюдений?

Любые предложения по улучшению подключения к моей базе данных или запроса высоко ценится. Я предпочитаю использовать пакет RODBC вместо другого пакета-цифрового пакета, но я готов попробовать что-то новое, если это необходимо.

Это было полезно?

Решение

Я бы использовал пакет «Memisc» для этого. Установите SPSS.System.file () импортеры для ваших 3 файлов SPSS, подмножество, используя версию MEMISC для загрузки, чтобы R только необходимых переменных, включая обработку уровней пропускания пользователей.

Существуют некоторые странности относительно того, как настраиваются файлы SPSS - для файлов SPSS довольно часто бывают численные переменные с числовыми переменными, которые могут потребовать сортировки на RED в интервале в масштабировании интервала с соответствующими NAS.

Другие советы

Вы можете спасти себя много хлопот, прочитав файл SPSS непосредственно в R.

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

Это вернет Data.frame, который вы можете проанализировать, используя все обычные инструменты R.

В качестве побочной выгоды у вас также будет текст вопросника в атрибутах ваших данных.

Видеть ?read.spss Больше подробностей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top