R: Übergebe das Argument an glm innerhalb einer R-Funktion

Ich versuche mich an Scoping-Probleme in R zu gewöhnen. Ich möchte die Funktion aufrufenglm() innerhalb einer funktion klappt es aber nicht, anscheinend aus scoping gründen habe ich es nicht geschafft mit den funktionen zu fixenassign() odereval().

Hier ist eine vereinfachte Version:

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
}

Jetzt möchte ich die Funktion ao () in meinem Datensatz verwenden

    ao (y = Prop, x = Age, dataset = mydata, weights = Total) 

Das funktioniert nicht, aber das Folgende funktioniert:

ao (y = mydata$Prop, x = mydata$Age, dataset = mydata, weights = mydata$Total)

Weiß jemand, was zu tun ist?

Jede Hilfe wäre sehr dankbar !!!

Übrigens, hier erfahren Sie, wie Sie mein Problem mit dem von mir verwendeten Datensatz replizieren

library("MASS")
data(menarche)
mydata <- menarche
mydata$Prop <- mydata$Menarche / mydata$Total

Antworten auf die Frage(3)

Ihre Antwort auf die Frage