Je me gratte vraiment la tête ici. Je ne comprends vraiment pas ce qui se passe. C'est un MWE, mais le code et le but sont plus complexes que cela. Ainsi, le code:parzyeval ne pas trouver `C_logit_link` lors de l'utilisation de binomial dans la fonction glm
library(dplyr)
ds <- mutate(iris, Species = as.numeric(Species == 'setosa'))
ds %>%
do_(
.dots = lazyeval::interp(
"broom::tidy(stats::glm(form, data = ., family = distr))",
form = Species ~ Sepal.Length,
distr = binomial()
)
)
qui retourne: Error in family$linkfun(mustart) : object 'C_logit_link' not found
... mais ce bit de code fonctionne très bien:
ds %>%
do_(
.dots = lazyeval::interp(
"broom::tidy(stats::glm(form, data = ., family = distr))",
form = Sepal.Width ~ Sepal.Length,
distr = gaussian()
)
)
La seule différence entre les deux est la distribution de la famille utilisée (gaussienne vs binomiale) et la variable utilisée.
Donc la question: pourquoi est-ce que lazyeval ne peut pas trouver C_logit_link
?
Huh, fascinant. Cela a réglé mon problème! Merci :) – Luke