R: passar argumento para glm dentro de uma função R
Eu estou tentando me acostumar com questões de escopo na R. Eu gostaria de chamar a funçãoglm()
dentro de uma função mas não funciona, aparentemente por razões de escopo eu não consegui consertar com as funçõesassign()
oueval()
.
Aqui está uma versão simplificada:
ao <- function (y, x, phi = seq (0,1,0.1), dataset, weights) {
logLikvector <- rep(0,length(phi)) # vector of zeros to be replaced thereafter
for (i in 1:length(phi)) { # loop to use glm()
fit <- glm (y ~ x, data = dataset, family = binomial, weights = weights)
logLikvector[i] <- logLik(fit) # get log likelihood
}
logLikvector
}
Agora eu quero usar a função ao () no meu conjunto de dados
ao (y = Prop, x = Age, dataset = mydata, weights = Total)
Isso não funciona, mas os seguintes trabalhos:
ao (y = mydata$Prop, x = mydata$Age, dataset = mydata, weights = mydata$Total)
Alguém sabe o que fazer?
Qualquer ajuda seria muito apreciada !!!
Btw, aqui está como replicar meu problema com o conjunto de dados que estou usando
library("MASS")
data(menarche)
mydata <- menarche
mydata$Prop <- mydata$Menarche / mydata$Total