在R中读取Spss数据文件

在R中读取Spss数据文件,r,expss,R,Expss,我用的是Expss包装。 df如注释foreign::read.spss中所述,将spss长(>255个字符)字符变量拆分为几列。如果这些列为空,则可以删除它们,而不会出现任何问题。 方便功能: remove_empty_characters_after_foreign = function(data){ empty_chars = vapply(data, FUN = function(column) is.character(column) & all(is.na(colum

我用的是Expss包装。
df如注释
foreign::read.spss
中所述,将spss长(>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)
,这将帮助您处理此错误。