我刚刚开始使用R,在试图简化代码时遇到了一些问题。我不能分享我的真实数据,但我已经使用一个开放的数据集来问我的问题(品种代表我的IV和年龄代表DV)。
在我的数据集中,我有所有的因素变量--我的自变量有3个级别,而我的因变量都有2个级别(0/1)。在更大的数据集中,我有6个因变量,并希望为每个变量运行一些描述性统计数据和GLM。我已经计算出独立运行每个DV的工作代码,见下文。但是,我目前只是复制和粘贴这段代码,每次替换DV变量。相反,我想创建一个可以应用于简化代码的函数。
我曾经尝试使用purr包(map)来完成这个任务,但是没有运气。如果有人能提供一个例子,说明如何使用下面的示例数据,这将对我有很大帮助(虽然我知道在下面的数据中只有一个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))发布于 2022-06-20 09:50:36
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)https://stackoverflow.com/questions/72399100
复制相似问题