You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中为回归表设置变量标签(对应STATA label variable)

在R中为回归结果设置变量标签的方法

要在summary(reg)输出里把原始变量名(如X、Y)替换成对应的中文标签(“性别”、“身高”),可以用以下几种实用方法:

方法1:使用Hmisc包(推荐)

Hmisc包原生支持变量标签管理,能让回归摘要直接调用标签:

  1. 安装并加载包:
install.packages("Hmisc")
library(Hmisc)
  1. 给数据框的变量设置标签:
label(data$X) <- "性别"
label(data$Y) <- "身高"
  1. 拟合回归后,用带参数的summary()查看结果:
reg <- lm(Y ~ X, data = data)
# 开启use.label参数,让摘要显示标签而非变量名
summary(reg, use.label = TRUE)

方法2:使用sjlabelled + sjPlot包

如果需要更美观的格式化输出,sj系列包对带标签的数据支持更友好:

  1. 安装并加载包:
install.packages(c("sjlabelled", "sjPlot"))
library(sjlabelled)
library(sjPlot)
  1. 给变量设置标签(两种方式可选):
# 方式1:逐个设置
data$X <- set_label(data$X, "性别")
data$Y <- set_label(data$Y, "身高")

# 方式2:批量设置多个变量
data <- set_label(data, X = "性别", Y = "身高")
  1. 拟合回归后,用tab_model()生成带标签的表格:
reg <- lm(Y ~ X, data = data)
tab_model(reg)

这个函数会直接输出带中文标签的回归结果,格式比默认summary()更易读。

方法3:手动修改回归结果(无需额外包)

如果不想安装新包,可以临时手动修改回归摘要的变量名:

reg <- lm(Y ~ X, data = data)
sum_reg <- summary(reg)

# 修改系数表的行名
rownames(sum_reg$coefficients) <- c("(截距)", "性别")
# 修改回归公式里的变量显示名
sum_reg$call[[2]] <- quote(`身高` ~ `性别`)

# 查看修改后的结果
sum_reg

这种方法适合少量变量的临时调整,变量多的话会比较繁琐。

内容的提问来源于stack exchange,提问作者Myggen--

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 11:43:23