gpt4 book ai didi

r - 将引用组设置为线性回归中最大组的论据

转载 作者:行者123 更新时间:2023-12-05 07:35:34 24 4
gpt4 key购买 nike

对于 lm() 函数或其他一些线性回归函数,是否有一个参数使得引用组可以设置为始终 lm() 中最大的组而不是字母/数字默认值?

因为这在统计中经常发生,所以我想我在搜索文档时不知何故总是错过它,或者我在错误的地方寻找。任何帮助,将不胜感激!

下面,即使在 UDF 中,我也希望 必须继续做

mtcars # load dataset 
mtcars <- mtcars[1:31, ] # remove a now so that there is a single biggest group
lm(mpg ~ gear+carb+disp, data = mtcars ) # carb's group 1 is the reference by default
mtcars$carb <- as.factor(mtcars$carb)
mtcars <- within(mtcars, carb <- relevel(carb, ref = "4")) # set carb's group 4 as the reference
lm(mpg ~ gear+carb+disp, data = mtcars )

最佳答案

我不相信有内置函数可以做到这一点,但编写一个并不难。

largest_ref <- function(DF, col){
DF[[col]] <- factor(DF[[col]])
tbl <- table(DF[[col]])
largest <- names(tbl)[which.max(tbl)]
DF[[col]] <- relevel(DF[[col]], ref = largest)
DF
}

现在我将重新加载测试数据集并更改它的副本。然后对两个数据集运行回归,一个由您的代码重新调整,一个由上面的函数重新调整。

data(mtcars)
mtcars <- mtcars[1:31, ]
mtc <- mtcars

mtcars$carb <- as.factor(mtcars$carb)
mtcars <- within(mtcars, carb <- relevel(carb, ref = "4")) # set carb's group 4 as the reference
fit1 <- lm(mpg ~ gear + carb + disp, data = mtcars)

mtc <- largest_ref(mtc, "carb")
fit2 <- lm(mpg ~ gear + carb + disp, data = mtc)

identical(coef(fit1), coef(fit2))
#[1] TRUE

如您所见,结果是一样的。您可以使用(省略输出)进一步查看它。

summary(fit1)
summary(fit2)

关于r - 将引用组设置为线性回归中最大组的论据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49497576/

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