【发布时间】:2022-06-20 17:50:36
【问题描述】:
我刚开始使用 R,在尝试简化代码时遇到了一些问题。我无法分享我的真实数据,但我使用了一个开放的数据集来提出我的问题(品种代表我的 IV,年龄代表一个 DV)。
在我的数据集中,我有所有因子变量 - 我的自变量有 3 个水平,我的因变量都有 2 个水平 (0/1)。在一个更大的数据集中,我有六个因变量,并希望为每个变量运行一些描述性统计数据和 GLM。我已经找到了独立运行每个 DV 的工作代码,见下文。但是,我目前只是复制和粘贴此代码并每次替换 DV 变量。我想创建一个可以应用来简化代码的函数。
我曾尝试使用 purr 包(地图)来执行此操作,但没有运气。如果有人可以使用下面的示例数据提供如何执行此操作的示例,那将对我有很大帮助(尽管我知道在下面的数据中只提供了一个 DV)。
install.packages("GLMsData")
library(GLMsData)
data(butterfat)
library(tidyverse)
library(dplyr)
#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))
【问题讨论】:
标签: loops iteration purrr glm simplify