我正在尝试习惯 R 中的范围问题。我想在函数中调用该函数glm()
,但它不起作用,显然是出于范围界定的原因,我没有设法用函数assign()
或eval()
.
这是一个简化版本:
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
}
现在我想在我的数据集上使用函数 ao()
ao (y = Prop, x = Age, dataset = mydata, weights = Total)
这不起作用,但以下工作:
ao (y = mydata$Prop, x = mydata$Age, dataset = mydata, weights = mydata$Total)
有谁知道该怎么做?
任何帮助将不胜感激 !!!
顺便说一句,这里是如何用我正在使用的数据集复制我的问题
library("MASS")
data(menarche)
mydata <- menarche
mydata$Prop <- mydata$Menarche / mydata$Total