【发布时间】:2019-12-26 21:20:31
【问题描述】:
我想使用 dplyr 为每个人和每种药物(两者都是因子变量)拟合多个模型,但我遇到了一个错误,我不太确定出了什么问题。我想提取每个模型的斜率来计算个体之间拟合模型的成对关系的平均斜率。
df.dr <- data.frame(
drug = factor(rep(rep(LETTERS[1:4], each = 5), 4)),
individual = factor(rep(letters[1:4], each = 20)),
dose = rep(c(10,5,1,0.5,0.1), times = 16),
viability = runif(80, min = 50, max = 200))
dfDrugInd = df.dr %>% group_by(drug, individual) %>%
do(fitAll = lm(viability ~ ., data = .))
dfDrugIndSlope = tidy(dfDrugInd, fitAll)$estimate[2,1]
mean(dfDrugIndSlope)
【问题讨论】:
-
你的代码有几个问题,比如第4行有一个摘录
)。先把代码放在一边,如果我理解你的问题,你实际上是在问一个@ 987654323@实现你想要的,对吗?使用group_by和管道逻辑在这里不起作用。 -
感谢您的评论。我解决了这个问题。我有几个变量,我想在单独的 lm 模型中计算这些变量的所有成对组合。然后我想提取每个变量的斜率并计算每个变量的斜率平均值。这里的变量是个体。我想对所有药物分别执行此任务。
标签: dplyr lm coefficients