如何使用 lookup table 以干净的变量名称标记 R 中的列?

How to use lookup table to label columns in R with clean variable names?

我正在尝试找出将标签应用到我在 R 中的列的最佳方法。一位同事推荐了一个查找 table 并给了我一些入门代码来执行此操作,但不明白如何在创建图形或 tables.

时实际使用干净的变量名称

这是一个样本 df(我正在使用的实际样本相当大)、我当前的查找代码 table,以及我正在创建的 figures/tables 的几个示例:

      #Creating sample df
        x <- c("A", "B", "C")
        y <- c(1, 2, 3)
        df <- data.frame("var1" = x, "var2" = y)
      
      #Creating lookup table  
        vars <- c("var1", "var2")
        vars_clean <- c("Var 1", "Var 2")
        names(vars_clean) <- vars
        
        tibble(a = c("var1", "var2")) %>%
          mutate(a_clean = vars_clean[a]) -> lookup_tibble

      #Example figure 
        ggplot(data=df, aes(var1))+
          geom_bar()   
        
      #Example table
        CreateTableOne(vars=vars, data=df)

这是为大型数据集创建查找 table 的最佳方式吗?完成后,我如何在创建图形和 tables 时实际使用干净的变量名称?

谢谢!

通过 labs 使用干净变量的一个选项可能看起来像这样。这种方法的缺点是您必须指定要标记的 scaleguide 的名称以及变量的名称:

library(ggplot2)

ggplot(data=df, aes(var1))+
  geom_bar() + 
  labs(x = vars_clean[["var1"]])

克服这些缺点的第二种方法是使用构建在 labelled 包上的 ggeasy::easy_labs。这里标签作为属性添加到数据集。

library(ggeasy)
library(labelled)

labelled::var_label(df) <- vars_clean

ggplot(data=df, aes(var1))+
  geom_bar() + 
  easy_labs()