如何在R语言中用mutate新增列并添加SPSS兼容的变量标签
解决方案
你可以通过两种方式实现新增带标签的列,保持与现有列的标签一致性:
方式一:在mutate中直接添加标签
使用sjlabelled包的labelled()函数,在创建新列的同时定义标签:
library(tidyverse) library(sjlabelled) # Set variable labels for data frame dummy <- tibble(a = sample(1:4, 10, replace = TRUE), b = sample(1:4, 10, replace = TRUE), c = sample(1:4, 10, replace = TRUE)) %>% set_label(c("Variable A", "Variable B", "Variable C")) # 新增sum和mean列并直接添加标签 dummy <- dummy %>% mutate( sum = labelled(a + b + c, label = "Sum of all"), mean = labelled((a + b + c)/3, label = "Mean of all") )
方式二:先新增列再批量设置标签
先通过mutate计算新列,再用set_label()一次性为所有列(包括新列)设置标签:
# 先新增sum和mean列 dummy <- dummy %>% mutate( sum = a + b + c, mean = (a + b + c)/3 ) %>% # 按列顺序设置所有变量的标签,新列标签放在末尾 set_label(c("Variable A", "Variable B", "Variable C", "Sum of all", "Mean of all"))
验证标签是否生效
可以运行以下代码查看所有变量的标签,确认新列标签已正确添加:
get_label(dummy)
内容的提问来源于stack exchange,提问作者SiH
相关产品推荐
相关产品推荐

