使用 dplyr 的因子水平回归模型:重复错误
Regression model over factor levels using dplyr : getting repeated errors
我正在尝试 运行 我的数据框中多个因子水平的逻辑回归模型,我得到每个因子水平的重复结果而不是唯一模型的参数。当我使用钻石数据集和 运行 相同的代码时,会发生这种情况,这个:
diamonds$E <-
if_else(diamonds$color=='E',1,0) #Make 'E' binary
fitted_models <- diamonds %>%
group_by(clarity) %>% #Group by clarity
do(model=glm(E~price,#regress price on E
data=diamonds,
family=binomial(link='logit')))
fitted_models %>%
tidy(model)%>%
View #use broom package to look
我不知道为什么会遇到这个特定问题。
问题出在您的 glm
电话中。删除 data=diamonds
并将其替换为 data=.
.
fitted_models <- diamonds %>%
group_by(clarity) %>% #Group by clarity
do(model=glm(E~price,#regress price on E
data = .,
family=binomial(link='logit')))
fitted_models %>%
tidy(model)
无论何时使用 do
,都需要使用 .
引用分组数据框。正如您当前读取的代码,您引用的是原始的、未分组的帧,而不是管道传递给 do
的帧。例如,您不能只调用 E
列,您需要使用 .$E
。另一种解决方案是 glm(.$E~.$price)
我正在尝试 运行 我的数据框中多个因子水平的逻辑回归模型,我得到每个因子水平的重复结果而不是唯一模型的参数。当我使用钻石数据集和 运行 相同的代码时,会发生这种情况,这个:
diamonds$E <-
if_else(diamonds$color=='E',1,0) #Make 'E' binary
fitted_models <- diamonds %>%
group_by(clarity) %>% #Group by clarity
do(model=glm(E~price,#regress price on E
data=diamonds,
family=binomial(link='logit')))
fitted_models %>%
tidy(model)%>%
View #use broom package to look
我不知道为什么会遇到这个特定问题。
问题出在您的 glm
电话中。删除 data=diamonds
并将其替换为 data=.
.
fitted_models <- diamonds %>%
group_by(clarity) %>% #Group by clarity
do(model=glm(E~price,#regress price on E
data = .,
family=binomial(link='logit')))
fitted_models %>%
tidy(model)
无论何时使用 do
,都需要使用 .
引用分组数据框。正如您当前读取的代码,您引用的是原始的、未分组的帧,而不是管道传递给 do
的帧。例如,您不能只调用 E
列,您需要使用 .$E
。另一种解决方案是 glm(.$E~.$price)