【问题标题】:remove the extra information (attr) after reading file spss file using read_sav使用 read_sav 读取文件 spss 文件后删除额外信息 (attr)
【发布时间】:2021-06-02 15:38:21
【问题描述】:

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

如何删除额外信息 (attr)。

我不知道如何为这个问题创建代表,但我在下面有一个示例。我希望从列 PersonID 中删除 attr 并将其转换为普通的数据框/小标题 谢谢

'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"

【问题讨论】:

标签: r tidyverse r-haven


【解决方案1】:

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

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))

【讨论】:

  • 谢谢。在 Haven 文档中,有一些以 zap_xxxx() (haven.tidyverse.org/reference/index.html) 开头的函数。请问这些能不能用
  • 是的,它们也可以使用,并且看起来更适合此任务。 zap_labels 从数据中删除标签,而 zap_formats 删除格式。我们必须一起使用它们来删除这两个属性。更新了答案以包含它。
  • 非常感谢
猜你喜欢
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
  • 2015-05-05
  • 2016-07-20
  • 1970-01-01
  • 1970-01-01
  • 2011-12-11
  • 2021-01-26
相关资源
最近更新 更多