Чтение файла данных Spss в R
Я использую Expss Pakage .df<-read_spss("test.SAV")
Я показываю следующее:
Предупреждающее сообщение: в foreign::read.spss(enc2native(file), use.value.labels = FALSE,: Tally.SAV: найдены очень длинные строковые записи (тип записи 7, подтип 14), каждая из которых будет импортирована в последовательных отдельных переменных
Он показывает 4174 переменных в среде Panel. Фактическое количество переменных в файле данных около 400. Может кто-нибудь из вас, пожалуйста, помогите мне в этом.
1 ответ
Как уже упоминалось в комментарии foreign::read.spss
разбить переменные символов SPSS long (>255 символов) на несколько столбцов. Если такие столбцы пусты, вы можете удалить их без проблем. Удобная функция для этого:
remove_empty_characters_after_foreign = function(data){
empty_chars = vapply(data, FUN = function(column) is.character(column) & all(is.na(column)), FUN.VALUE = logical(1))
additional_chars = grepl("00\\d$", colnames(data), perl = TRUE)
to_remove = empty_chars & additional_chars
if(any(to_remove)){
message(paste0("Removing ", paste(colnames(data)[to_remove], collapse = ", "),"..."))
}
data[,!to_remove, drop = FALSE]
}
df = remove_empty_characters_after_foreign(df)