首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在R中使用迭代来简化GLM的代码?

如何在R中使用迭代来简化GLM的代码?
EN

Stack Overflow用户
提问于 2022-05-26 23:41:34
回答 1查看 34关注 0票数 0

我刚刚开始使用R,在试图简化代码时遇到了一些问题。我不能分享我的真实数据,但我已经使用一个开放的数据集来问我的问题(品种代表我的IV和年龄代表DV)。

在我的数据集中,我有所有的因素变量--我的自变量有3个级别,而我的因变量都有2个级别(0/1)。在更大的数据集中,我有6个因变量,并希望为每个变量运行一些描述性统计数据和GLM。我已经计算出独立运行每个DV的工作代码,见下文。但是,我目前只是复制和粘贴这段代码,每次替换DV变量。相反,我想创建一个可以应用于简化代码的函数。

我曾经尝试使用purr包(map)来完成这个任务,但是没有运气。如果有人能提供一个例子,说明如何使用下面的示例数据,这将对我有很大帮助(虽然我知道在下面的数据中只有一个DV )。

代码语言:javascript
运行
复制
install.packages("GLMsData")
library(GLMsData)
data(butterfat)

library(tidyverse)
library(dplyr)
代码语言:javascript
运行
复制
#Descriptive summaries
butterfat %>%
group_by(Breed, Age) %>%
summarise(n())

prop.table(table(butterfat$Breed, butterfat$Age), 1)

#Model
Age_model1 <- glm(Age ~ Breed, family=binomial, data=butterfat, na.action = na.omit)

#Get summary, including coefficients and p-values
summary(Age_model1)

#See coefficients, get odds ratio and confidence intervals
Age_model1$coefficients
exp(Age_model1$coefficients)
exp(confint(Age_model1))
EN

回答 1

Stack Overflow用户

发布于 2022-06-20 09:50:36

许多模型:r为数据科学

代码语言:javascript
运行
复制
library(tidyverse)

iris %>%
  group_by(Species) %>%
  nest() %>% 
  mutate(lm = map(data,
                  ~glm(Sepal.Length~Sepal.Width,data = .))) %>% 
  mutate(tidy = map(lm,
                    broom::tidy)) %>% 
  unnest(tidy)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72399100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档