R:绘制一组β系数

时间:2018-02-26 20:06:31

标签: r plot ggplot2 regression

我试图用R绘制 beta解决方案路径图中的一组beta系数。以下是我试图绘制的beta值:

                    s0
AtBat      .          
Hits       1.136258490
HmRun      .          
Runs       .          
RBI        .          
Walks      1.182645827
Years      .          
CAtBat     .          
CHits      .          
CHmRun     .          
CRuns      0.110122200
CRBI       0.314564189
CWalks     .          
LeagueN    .          
DivisionW  .          
PutOuts    0.003304879
Assists    .          
Errors     .          
NewLeagueN .   

我想从这组测试中得到的情节类型是:

enter image description here

以下是我试图绘制测试版的代码:

tmp <- as.data.frame(as.matrix(beta))
tmp$coef <- row.names(tmp)
tmp <- reshape::melt(tmp, id = "coef")
tmp$norm <- apply(abs(beta[-1,]), 2, sum)[tmp$variable+1] # compute L1 norm

当我运行上面的代码时,我从tmp$norm收到错误:应用错误(abs(beta [-1,]),2,sum):   dim(X)必须具有正长度

然后我想用下面的代码绘制测试版,因为我没有得到tmp$norm值,所以我无法运行:

ggplot(tmp[tmp$coef != "(Intercept)",], aes(norm, value, color = coef, linetype = coef)) + 
  geom_line() + 
  xlab("L1 norm") + 
  guides(color = guide_legend(title = ""), 
         linetype = guide_legend(title = "")) +
  theme_bw() + 
  theme(legend.key.width = unit(3,"lines"))

这是一个简单的beta可重现代码,可以获得一些beta值:

beta=matrix(sample(1:19),19,1) 

样本数和预测变量可以是任意数,例如样本数n = 200,预测变量= 19。

0 个答案:

没有答案