我一直与 SPSS 和 STata 的合作者一起工作,因此清晰的变量标签对于传达对任何给定变量所做的操作及其记录的内容非常重要。
如何在 tidyverse 上下文中最有效地使用变量标签重命名变量。我可以做到这一点,但看起来很笨拙。
var1<-rnorm(100)
var2<-rnorm(100)
var3<-rnorm(100)
group_var<-sample(c("A", "B"), size=100, replace=T)
other_var1<-rnorm(100)
other_var2<-rnorm(100)
df<-data.frame(var1, var2, var3, group_var, other_var1, other_var2)
library(labelled)
library(tidyverse)
df %>%
set_variable_labels(var1="Measure 1",
var2="Measure 2",
var3="Measure 3",
group_var="Grouping Variable")->df
#Store variable labels
df %>%
select(starts_with("var")) %>%
var_label() %>%
unlist()->variable_labels
variable_labels<-data.frame(name=names(variable_labels), labels=variable_labels)
df %>%
pivot_longer(var1:var3) %>%
left_join(., variable_labels, by="name")
Run Code Online (Sandbox Code Playgroud)
有没有办法让这个rename_with功能在这里发挥作用?这不行。
df %>%
rename_with(., function(x) var_label(x),.cols=var1:var3)
Run Code Online (Sandbox Code Playgroud)