Ошибка при чтении файла SPS (.sav) в R: файл не поддерживается ни в одном поддерживаемом формате SPSS - PullRequest
0 голосов
/ 12 апреля 2019

При попытке прочитать файл SPSS (формат .sav) в R возникает:

Ошибка: файл не поддерживается ни в одном поддерживаемом формате SPSS.

Это происходит при попытке прочитать файл .sav с foreign и read.spss. Попытка пакета memsic и его as.data.set(spss.system.file("my_file")) поднимает:

Ошибка в spss.readheader (файле): не sysfile

Файл представляет собой очень длинный файл SPSS, содержащий более 2 миллионов записей и сотни факторов. Факторы могут быть разными: многие из них категоричны: «Да» / «Нет» / «Отсутствует» / «Нет», некоторые - числовые (IDS и т. Д.), Некоторые маркированы текстами («Состояние одно» / «Состояние 2» / «Состояние 3»). ") и некоторые смешаны (" 1 "/" 20 "/" 3732 "/" Техническая проблема "). К сожалению, я не могу дать вам подмножество моих данных (жесткие ограничения в отношении конфиденциальности, и у меня нет лицензии SPSS).

Чтение этого файла и его сохранение в виде файла пера (в формате .fea) уже сработало на другом компьютере - на нем могла быть установлена ​​другая версия R. У меня нет возможности проверить, какая версия была ... В настоящее время я работаю в версии R 3.4.4 (2018-03-2015) для Windows 10 и использую пакеты memisc_0.99.17.2 и foreign_0.8-71. Файл хранится на сервере, мой R установлен у пользователя на локальном диске.

Это код, который я пробовал:

require(foreign)
ws <- "my_workspace_in_local_user"
setwd(ws)
dataDir <- "my_directory_on_the_server_containing_the_file"
fn <- paste0(dataDir, "my_file.sav")
dat <- read.spss(fn, to.data.frame = TRUE)

и

require(foreign)
ws <- "my_workspace_in_local_user"
setwd(ws)
dataDir <- "my_directory_on_the_server_containing_the_file"
fn <- paste0(dataDir, "my_file.sav")
install.packages("memisc")
require("memisc")
dat <- as.data.set(fn, to.data.frame = TRUE)

У кого-нибудь есть идея, почему это не сработает? Я подозреваю, что проблема в том, какую версию R и какие пакеты использовать ...?

...