gpt4 book ai didi

r - 尝试使用 dplyr::do 在内部构建模型,然后在同一个 dplyr::do 调用中拉取 coef(model)

转载 作者:行者123 更新时间:2023-12-02 01:29:05 34 4
gpt4 key购买 nike

我正在尝试为一组标准曲线构建一系列线性模型。

目前这段代码正在产生我想要的输出(每个线性模型的截距和斜率):

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])

第二个代码块不会引发错误,但会为 Intercept 和 Slope 返回 NULL。我认为我的问题是不理解 dplyr::do 中的引用结构。

但我只是在学习 dplyr,并不确定如何做到这一点。谢谢。

最佳答案

我们不需要.$model。使用可重现的例子

 data(mtcars)
mtcars %>%
group_by(cyl) %>%
do({model = lm(wt~gear, data=.)
data.frame(intercept= coef(model)[1], slope=coef(model)[2])})
# cyl intercept slope
# (dbl) (dbl) (dbl)
#1 4 3.829406 -0.3773438
#2 6 4.180750 -0.2757500
#3 8 5.205208 -0.3670417

关于r - 尝试使用 dplyr::do 在内部构建模型,然后在同一个 dplyr::do 调用中拉取 coef(model),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35181562/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com