如何使用 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
使用干净变量的一个选项可能看起来像这样。这种方法的缺点是您必须指定要标记的 scale
或 guide
的名称以及变量的名称:
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()
我正在尝试找出将标签应用到我在 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
使用干净变量的一个选项可能看起来像这样。这种方法的缺点是您必须指定要标记的 scale
或 guide
的名称以及变量的名称:
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()