如何从lm.beta生成的标准化回归系数中提取单个值?
提取lm.beta生成的标准化回归系数的方法
lm.beta()返回的是经过标准化系数处理的lm对象,直接用$coefficients[x]可能因对象属性问题出现异常,试试下面几种可靠方法:
方法1:用
coef()函数提取后按位置/变量名索引
先将标准化系数转为可索引的向量形式,再提取单个值:# 提取第4个标准化系数 coef(top_dog)[4] # 按变量名提取(替换为你的目标变量名) coef(top_dog)["target_var"]方法2:将coefficients转为纯向量后索引
若$coefficients返回带额外属性的对象,转为纯向量即可正常索引:as.vector(top_dog$coefficients)[4]方法3:先确认系数结构再索引
不确定索引位置时,先打印系数或查看对象结构:# 打印所有标准化系数 print(top_dog$coefficients) # 查看对象存储结构 str(top_dog)
完整示例
# 构建示例回归模型 data(mtcars) new_lreg <- lm(mpg ~ wt + hp + disp + drat, data = mtcars) # 生成标准化系数 top_dog <- lm.beta(new_lreg) # 提取第4个标准化系数(对应drat变量) coef(top_dog)[4] # 按变量名提取drat的标准化系数 coef(top_dog)["drat"]
内容的提问来源于stack exchange,提问作者jakdar
相关产品推荐
相关产品推荐

