问题描述
请参见上图以查看摘要
我希望摘要的每个元素都转换为一个列表。这是摘要数据,我想创建单独的列表,例如
predictors = ['Age','WorkClassLocal-gov',...,HoursWork]
z value = [14.762,-6.719,16.714]
pr>|z| = [2e-16,6.46e-10,2e-16]
...
摘要如下
Call: glm(formula = Salary ~ .,family = binomial,data = train)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -7.614e+00 4.525e-01 -16.826 < 2e-16 ***
Age 2.626e-02 1.779e-03 14.762 < 2e-16 ***
WorkClassLocal-gov -7.214e-01 1.168e-01 -6.179 6.46e-10 ***
HoursWork 2.965e-02 1.774e-03 16.714 < 2e-16 ***
我无法执行此操作。请帮我做到这一点。
解决方法
我们没有您的数据,但是我们可以展示使用内置mtcars
数据集如何完成此工作的原理。
首先,我们创建一个模型:
model <- glm(mpg ~ .,data = mtcars)
接下来,我们存储summary
函数的结果,该函数实际上会生成类summary.glm
的类似列表的对象。
model_summary <- summary(model)
系数表存储为该对象内部的矩阵,以及称为coefficients
的成员:
model_summary$coefficients
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) 12.30337416 18.71788443 0.6573058 0.51812440
#> cyl -0.11144048 1.04502336 -0.1066392 0.91608738
#> disp 0.01333524 0.01785750 0.7467585 0.46348865
#> hp -0.02148212 0.02176858 -0.9868407 0.33495531
#> drat 0.78711097 1.63537307 0.4813036 0.63527790
#> wt -3.71530393 1.89441430 -1.9611887 0.06325215
#> qsec 0.82104075 0.73084480 1.1234133 0.27394127
#> vs 0.31776281 2.10450861 0.1509915 0.88142347
#> am 2.52022689 2.05665055 1.2254035 0.23398971
#> gear 0.65541302 1.49325996 0.4389142 0.66520643
#> carb -0.19941925 0.82875250 -0.2406258 0.81217871
我们可以轻松地将其转换为数据框,并将其行名称转换为自己的列:
coefs <- as.data.frame(model_summary$coefficients)
coefs$variable <- rownames(coefs)
尽管数据框实际上是变量列表(对于大多数应用程序,将结果保留为数据框格式会更有用),但是如果您要将其转换为列表,可以简单地做到:
as.list(coefs)
#> $Estimate
#> [1] 12.30337416 -0.11144048 0.01333524 -0.02148212 0.78711097 -3.71530393
#> [7] 0.82104075 0.31776281 2.52022689 0.65541302 -0.19941925
#>
#> $`Std. Error`
#> [1] 18.71788443 1.04502336 0.01785750 0.02176858 1.63537307 1.89441430
#> [7] 0.73084480 2.10450861 2.05665055 1.49325996 0.82875250
#>
#> $`t value`
#> [1] 0.6573058 -0.1066392 0.7467585 -0.9868407 0.4813036 -1.9611887
#> [7] 1.1234133 0.1509915 1.2254035 0.4389142 -0.2406258
#>
#> $`Pr(>|t|)`
#> [1] 0.51812440 0.91608738 0.46348865 0.33495531 0.63527790 0.06325215
#> [7] 0.27394127 0.88142347 0.23398971 0.66520643 0.81217871
#>
#> $variable
#> [1] "(Intercept)" "cyl" "disp" "hp" "drat"
#> [6] "wt" "qsec" "vs" "am" "gear"
#> [11] "carb"