我正在尝试为一组标准曲线建立一系列线性模型。
目前,以下代码可以生成我想要的输出(每个线性模型的截距和斜率):
slopes <- STANDARDS %>% group_by(plate, col, row, conc_ug_mL) %>% do(
#model = lm(value ~ variable, data = .),
intercept = coef(lm(value ~ variable, data = .))[1],
slope = coef(lm(value ~ variable, data = .))[2])
但是我不得不注释掉模型行并调用lm两次。我真的很想把它做成这样:
slopes2 <- STANDARDS %>% group_by(plate, col, row, conc_ug_mL) %>% do(
model = lm(value ~ variable, data = .),
intercept = coef(.$model)[1],
slope = coef(.$model)[2])
第二块代码不会引发错误,但对截距和斜率都返回NULL。我认为我的问题在于不理解dplyr::do中的参考结构。 但是我只是在学习dplyr,并不确定如何做到这一点。谢谢。