gpt4 book ai didi

R 避风港 : missing labels and label names when reading spss file

转载 作者:行者123 更新时间:2023-12-03 00:04:16 26 4
gpt4 key购买 nike

我正在使用 R 的 Haven 包来读取带有 user_na=TRUE 的 spss 文件。该文件有许多带有值标签的字符串变量。在 R 中,只有第一个字符串变量 (SizeofH1) 具有作为属性分配给它的正确值标签。不幸的是,我什至无法提供此数据的片段以使其完全可重现,但这是我在 PSPP 中看到的屏幕截图

PSPP Data editor

R 中的 str() 返回什么...

 $ SizeofH1:Class 'labelled'  atomic [1:280109] 3 3 3 3 ...
..- attr(*, "label")= chr "Size of Household ab 2002"
..- attr(*, "format.spss")= chr "A30"
..- attr(*, "labels")= Named chr [1:9] "1" "2" "3" "4" ...
..- attr(*, "names")= chr [1:9] "4 Persons" "2 Persons" "1 Person 50 years plus" "3 Persons" ...
$ PROMOTIO: atomic 40 1 40 40 ...
..- attr(*, "label")= chr "PROMOTION"
..- attr(*, "format.spss")= chr "A30"
$ inFMCGfr: atomic 1 1 1 1 ...
..- attr(*, "label")= chr "in FMCG from2011"
..- attr(*, "format.spss")= chr "A30"
$ TRADESEG: atomic 1 1 1 1 ...
..- attr(*, "label")= chr "TRADE SEGMENT"
..- attr(*, "format.spss")= chr "A30"
$ ORGANISA: atomic 111 111 111 111 ...
..- attr(*, "label")= chr "ORGANISATION"
..- attr(*, "format.spss")= chr "A30"
$ NAME : atomic 9 9 9 9 ...
..- attr(*, "label")= chr "NAME"
..- attr(*, "format.spss")= chr "A30"

我希望有人能指出导致此行为的任何可能原因。

最佳答案

“语义”小插图提供了一些关于此主题的有用信息。

library(haven)
vignette('semantics')

有几个选项可以获取值标签。我认为下面演示的示例是一个很好的例子,使用 purrr 包中的 map 函数(但也可以使用 lapply 来完成) )

# Get data from spss file
df <- read_sav(path_to_file)

# get value labels
df <- map_df(.x = df, .f = function(x) {
if (class(x) == 'labelled') as_factor(x)
else x})
# get column names
colnames(df) <- map(.x = spss_file, .f = function(x) {attr(x, 'label')})

关于R 避风港 : missing labels and label names when reading spss file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39912959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com