【发布时间】:2017-01-25 21:57:33
【问题描述】:
我在 R 中用 glmnet 做套索。我有套索系数 out$beta
输入:
x1 0.5744207722
x2 -0.3575682570
x3 -0.0995794334
如何提取变量名?
期望的输出:
x1, x2,x3
我尝试了什么
$as.data.frameas.matrix
但它们都没有将coefs 转换为 n 行 2 列矩阵。它们仍然是一个向量,x1 0.5744207722。
我无法手动完成。我有 1000 多个变量和更多模型要运行。而且我不会不把它写在我的磁盘上,然后再读回来。
【问题讨论】:
-
您查看过
glmnet的文档吗?第一个示例向您展示了如何使用coef()提取每个变量的系数。 -
我想要名字
x1,x2而不是 coefs0.5744207722,-0.3575682570 -
然后
rownames(coef(fit))。如果这不能满足您的要求,请给出一个包含输入和所需输出的可重现示例。 -
如果你自己尝试,它会返回
Error: $ operator is invalid for atomic vectors。问题已修改。 -
原因是 glmnet 返回一个向量而不是矩阵或数据框。
标签: r glmnet lasso-regression