【发布时间】:2016-01-15 04:45:16
【问题描述】:
我正在尝试在 R 中引导一个简单的多项式回归,但出现错误:
is.data.frame(data) 中的错误:找不到对象“d”
真正奇怪的是,我使用的代码(针对这个特定问题进行了调整)与引导包 at Quick-R 的教程中的代码相同,并且当我使用不同的函数(如 lm() )。当然,我在做一些愚蠢的事情,但我看不出是什么。请,如果有人可以提供帮助,我将不胜感激。
这是一个例子:
require(foreign)
require(nnet)
require(boot)
# an example for multinomial logistic regression
ml = read.dta('http://www.ats.ucla.edu/stat/data/hsbdemo.dta')
ml = ml[,c(5,7,3)]
bs <- function(formula, data, indices) {
d = data[indices,] # allows boot to select sample
fit = multinom(formula, data=d)
s = summary(fit)
return(list(fit$coefficients, fit$standard.errors))
}
# 5 replications
results = list()
results <- boot(
data=ml, statistic=bs, R=5, parallel='multicore',
formula=prog~write
)
【问题讨论】:
-
请在您的问题中发布
traceback()的输出。 -
我做了一些调查,这可能会导致解决方案:环境中有一些东西(通过从
bs-函数内部打印 str(fit) 可以看到。它设置为全局,当您传递一个公式时,公式具有创建它们的环境(请参阅?公式)。不过现在不知道如何修复它。
标签: r logistic-regression statistics-bootstrap