r - 如何将广义线性模型的输出 [summary(model)] 保存为 R 中的 .csv 文件?
问题描述
我正在尝试从 GLM 写入或导出输出/结果,但我不断收到错误消息。我的数据同时具有连续(数字)和分类(因子)变量。在运行模型之前,我是否需要指定哪个变量?
这是我使用的代码:
library(dplyr)
setwd("F://Aug 2019")
cg <- read.csv("GZLM_CG.csv")
names(cg)
str(cg)
#####GLiMs#######
model1 <- glm(weight ~ Var1 + Var2 + Var3 + Var4 + Var5, data=cg)
summary(model1)
write.csv(model1,file='GZLM_CG_M1_result.csv')
使用此代码:
write.csv(model1,file='GZLM_CG_M1_result.csv')
我收到以下错误消息:
Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) : cannot coerce class ‘c("glm", "lm")’ to a data.frame
我找不到解决办法,但我敢肯定它一定很简单。我希望使用 summary(model1) 的输出创建 .csv 文件,但我收到了上面的错误消息。先感谢您。
所以这是 summary(model1) 的输出
Deviance Residuals:
Min 1Q Median 3Q Max
-2.2676 -0.9872 0.1245 0.9605 2.7419
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 7.573e-01 3.576e-01 2.118 0.034194 *
Var1 2.375e-02 3.570e-02 0.665 0.505869
Var2 -2.042e-04 6.059e-05 -3.370 0.000752 ***
Var3 -8.885e-02 3.300e-03 -26.927 < 2e-16 ***
Var4 4.629e-01 5.077e-01 0.912 0.361913
Var5_1 1.169e-01 2.612e-01 0.448 0.654348
Var5_2 1.887e+00 2.970e-01 6.353 2.11e-10 ***
Var5_3 1.324e+00 2.907e-01 4.555 5.23e-06 ***
Var5_4 9.305e-01 2.625e-01 3.545 0.000392 ***
Var5_5 -5.847e-01 2.740e-01 -2.134 0.032815 *
Var5_6 9.736e-01 7.220e-01 1.348 0.177531
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 12441 on 8973 degrees of freedom
Residual deviance: 10540 on 8963 degrees of freedom
AIC: 10562
Number of Fisher Scoring iterations: 4
解决方案
你不能那样保存它,但我假设你想要原始的重量值、拟合的重量值和残差。如果是,那么您可以执行以下操作。
model1 <- glm(weight ~ Var1 + Var2 + Var3 + Var4 + Var5, data=cg)
Temp_df <- data.frame(cg$weight, model1$fitted.values, model1$residuals)
write.csv(Temp_df,file='GZLM_CG_M1_result.csv')
如果你想要别的东西,请告诉我。
编辑以回应评论。
从它说“系数:”的那一行到“Var5_6 9.736e-01 7.220e-01 1.348 0.177531”这一行……就在破折号(----)之前,有“一些”希望将其投射到一个 csv(逗号分隔值),但在那之后,随着模式的丢失,所有的希望都落空了。不再有可以解析的列。但是,如果您担心“希望”部分,您可以这样做。
model1 <- glm(weight ~ Var1 + Var2 + Var3 + Var4 + Var5, data=cg)
write.csv(summary(model1)['coefficients'],file='GZLM_CG_M1_result.csv')
我认为这是我所能看到的
推荐阅读
- sql-server - 如何连接到本地 SSAS 安装
- java - JPA 查询不会为等效的 MySQL 查询产生相同的结果
- javascript - 遍历 JS 中的对象数组
- python - 将 Pandas 数据框行转换为列
- google-apps-script - Google 日历插件 - 防止触发多个事件
- python - 计算列中值的出现次数并存储到字典
- python - 中途接收到 int() 和 ChunkedEncodingError: ('Connection broken: IncompleteRead..') 的错误无效文字?
- makefile - 使用 Makefile 将 linux 二进制文件推送到 JFrog Artifactory
- c# - 我正在尝试根据位置、暂存或生产设置连接到不同数据库的 Windows 服务
- r - R使用gganimate和geom_text动画线图