首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在coefplot.glm()中更改系数名称

在coefplot.glm()中更改系数名称
EN

Stack Overflow用户
提问于 2019-11-25 16:59:40
回答 2查看 1.1K关注 0票数 2

我想用化系数的名字来画一个coefplot.glm()

考虑以下代码:

代码语言:javascript
复制
coefplot::coefplot.glm(lm(rbinom(1000,1,.5) ~ rnorm(1000,50,2) + rbinom(1000,1,prob=0.63) + rpois(1000, 2)))

这很好,但给出了原始变量名;我想在coefplot.glm()调用中更改它们为c("x1", "x2", "x3", "Intercept")。实际上,我正在处理分解数据,并将其重命名并不容易--重命名将是另一个导入的向量。

我试过了

代码语言:javascript
复制
coefplot::coefplot.glm(lm(rbinom(1000,1,.5) ~ rnorm(1000,50,2) + rbinom(1000,1,prob=0.63) + rpois(1000, 2)),
               newNames = c("1", "2", "3", "Interc"))

但这会产生

映射值中的

错误(x,from = same (替换),to =替换,warn_missing = warn_missing):fromto向量的长度不一样。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-28 11:33:17

您需要一个命名的向量,如果您想在coefplot.glm中使用它,它就不那么简单了,您可以尝试如下:

代码语言:javascript
复制
# create a function first for your lm
f = function(){
lm(rbinom(1000,1,.5) ~ rnorm(1000,50,2) + rbinom(1000,1,prob=0.63) + rpois(1000, 2))
}

使用该函数,您可以调用它两次,第一次用于绘图,第二次用于获取名称。

代码语言:javascript
复制
coefplot::coefplot.glm(f(),
newNames = setNames(c("Interc", "3", "2", "1"),names(coefficients(f())))
)

或者你就这么做:

代码语言:javascript
复制
library(ggplot2)
coefplot::coefplot.glm(fit) + scale_y_discrete(labels=c("Interc", "3", "2", "1"))
票数 0
EN

Stack Overflow用户

发布于 2019-11-25 17:07:03

关于

代码语言:javascript
复制
data <- data.frame(y=rbinom(1000,1,.5) ,x1=rnorm(1000,50,2),x2=rbinom(1000,1,prob=0.63),x3=rpois(1000, 2))
model<-lm(y~ x1 +x2  +x3 ,data=data)
coefplot::coefplot.glm(model)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59036723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档