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