使用 R 中 coefplot 包中的命令 multiplot 时遇到错误
Facing Error with command multiplot from coefplot package in R
当 运行 来自 R
软件包 coefplot
的命令 multiplot
时,是否有人面临与我相同的情况?
即使是示例:
data(diamonds)
model1 <- lm(price ~ carat + cut, data=diamonds)
model2 <- lm(price ~ carat + cut + color, data=diamonds)
model3 <- lm(price ~ carat + color, data=diamonds)
multiplot(model1, model2, model3)
我现在收到以下错误:
Error in get(x, envir = this, inherits = inh)(this, ...) :
attempt to apply non-function
有什么提示吗?
这个答案有点离题,但我发现 broom
和 dotwhisker
包的稍微更新的组合很有用 - broom
是后端(转换"tidy" 系数数据帧的模型)和 dotwhisker
是前端(通过相当薄的 ggplot2
层创建图)
library(ggplot2)
library(dotwhisker)
library(broom)
更新:re-installed dotwhisker
v 0.2.0.3,这似乎有效:
dwplot(list(model1,model2,model3))
如果您想即时选择不同的模型名称,您也可以 dwplot(list(m1=model1,m2=model2,m3=model3))
。
或者,为了更好地控制,您可以自己构建完整的数据框:
mList <- list(carat_cut=model1, carat_cut_color=model2,
carat_color=model3)
library(plyr)
## extract tidy data frames and combine them ...
mFrame <- ldply(mList,tidy,conf.int=TRUE,.id="model")
现在你可以做
dwplot(mFrame)
当 运行 来自 R
软件包 coefplot
的命令 multiplot
时,是否有人面临与我相同的情况?
即使是示例:
data(diamonds)
model1 <- lm(price ~ carat + cut, data=diamonds)
model2 <- lm(price ~ carat + cut + color, data=diamonds)
model3 <- lm(price ~ carat + color, data=diamonds)
multiplot(model1, model2, model3)
我现在收到以下错误:
Error in get(x, envir = this, inherits = inh)(this, ...) :
attempt to apply non-function
有什么提示吗?
这个答案有点离题,但我发现 broom
和 dotwhisker
包的稍微更新的组合很有用 - broom
是后端(转换"tidy" 系数数据帧的模型)和 dotwhisker
是前端(通过相当薄的 ggplot2
层创建图)
library(ggplot2)
library(dotwhisker)
library(broom)
更新:re-installed dotwhisker
v 0.2.0.3,这似乎有效:
dwplot(list(model1,model2,model3))
如果您想即时选择不同的模型名称,您也可以 dwplot(list(m1=model1,m2=model2,m3=model3))
。
或者,为了更好地控制,您可以自己构建完整的数据框:
mList <- list(carat_cut=model1, carat_cut_color=model2,
carat_color=model3)
library(plyr)
## extract tidy data frames and combine them ...
mFrame <- ldply(mList,tidy,conf.int=TRUE,.id="model")
现在你可以做
dwplot(mFrame)