【问题标题】:Read Stata value labels from a separate file into R将单独文件中的 Stata 值标签读入 R
【发布时间】:2018-05-30 22:57:48
【问题描述】:

我有一个包含一个变量 RGA 的 Stata 数据集(.dta 文件)(这是一个 MWE,我实际上有很多变量)。该变量采用 3 个因子值:1、2 和 3。这些因子指的是有意义的事物(所谓的“值标签”),并且因子与其值标签之间的关联位于单独的 .txt 类似 Stata 的文件中,完全在此转载:

    . label define RGA_l
        1 "meaning of 1"
        2 "meaning of 2"
        3 "meaning of 3"

    . label values RGA RGA_l

我通过 haven 包将我的 .dta 文件加载到 R 中。我想在 R 中轻松访问 RGA 的值标签,特别是能够快速将 RGA 的值与其值标签匹配以产生可读的输出。如何将这个单独的 .txt 文件读入 R 中,以便与我的数据集匹配?

【问题讨论】:

    标签: r import stata r-haven


    【解决方案1】:

    我不确切知道导入的列 haven 的确切类型(尝试在您的数据框上使用 str())但这是您在 R 中创建因子的方式。factor 函数有点令人困惑,因为因子不实际上本身有标签,它们只有级别,但参数仍然称为labels。

    set.seed(100)
    df <- data.frame(RGA_1 = sample.int(3, 10, replace = TRUE))
    
    df$RGA_1 <- factor(df$RGA_1, labels = c("meaning1", "meaning2", "meaning3"))
    df
    #>       RGA_1
    #> 1  meaning1
    #> 2  meaning1
    #> 3  meaning2
    #> 4  meaning1
    #> 5  meaning2
    #> 6  meaning2
    #> 7  meaning3
    #> 8  meaning2
    #> 9  meaning2
    #> 10 meaning1
    

    由reprex package (v0.2.0) 于 2018 年 5 月 30 日创建。

    【讨论】:

    • 谢谢!但是我的问题是关于从 .txt 文件中自动导入值标签。按照您的建议手动设置它们是不切实际的,因为我有 500 多个变量要标记其值。这个 .txt 文件肯定是由 Stata 命令组成的,所以我希望有人在 R 中编写了一个解析器来读取它。
    • 我认为最好编辑问题以反映这一点。请参阅haven documentation,这似乎表明它创建了labelled 类向量,可以使用as_factor 转换为因子(假设stata 文件中的列已标记,即您已经运行了该文件)。跨度>
    猜你喜欢
    • 2017-05-25
    • 2013-01-13
    • 2017-06-03
    • 2014-07-16
    • 2016-06-01
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多