使用 read_sav 读取文件 spss 文件后删除额外信息(attr)

remove the extra information (attr) after reading file spss file using read_sav

我使用 read_sav() 在 R 中读取 SPSS 文件。

如何删除多余的信息 (attr)。

我不知道如何为这个问题创建 reprex,但我在下面有一个示例。我希望从 PersonID 列中删除 attr 并将其转换为正常 dataframe/tibble 谢谢

'data.frame':   543 obs. of  1 variable:
 $ PersonID  : num  1 2 3 4 5 6 7 8 9 10 ...
  ..- attr(*, "label")= chr "Person identifier"
  ..- attr(*, "format.spss")= chr "F8.0"

要删除列的所有属性,您可以使用:

attributes(data$PersonID) <- NULL

要仅删除特定的,您可以执行以下操作:

attr(data$PersonID, 'format.spss') <- NULL

从所有列中删除所有属性:

data[] <- lapply(data, function(x) {attributes(x) <- NULL;x})

我们还可以使用 haven 中的 zap_labelszap_formats

library(haven)
data <- zap_formats(zap_labels(data))