我已经在整个网站上进行了基本搜索(例如R Knit Markdown code chunk: "object not found"),但是我认为没有发现任何可以解决我的问题的东西,或者至少没有解释为什么会出现我的问题。
我的.rmd中只有很少的代码块来自https://cran.r-project.org/web/packages/mlogit/vignettes/e1mlogit.html
首先是加载数据
rm(list = ls())
library(mlogit)
data("Heating", package = "mlogit")
H <- mlogit.data(Heating, shape = "wide", choice = "depvar", varying = c(3:12))
然后我适合模型,但是我使用ref_level_var
而不是任何特定的字符串"gr"
ref_level_var <- "gr"
mc <- mlogit(formula = depvar ~ ic + oc, data = H, reflevel = ref_level_var)
奇怪的是,当我尝试
head(predict(mc, newdata = H))
现在,因为我需要将文件编织成两种不同的格式(通过Knit one markdown file to two output files解决),所以我在.rmd的标头中使用以下knit
knit: (function(inputFile, encoding) {
rmarkdown::render(inputFile, encoding = encoding, output_format = c("html_document", "pdf_document"))})
但是,这将导致以下错误
Error in model.frame.mFormula(formula = depvar ~ ic + oc, data = structure(list(: object 'ref_level_var' not found
很明显,尽管在某处有ref_level_var
行,但似乎ref_level_var <- "gr"
在编织会话中还是看不到的。为什么会发生此错误,我该如何解决?
请注意,该错误非常奇怪,因为用knit
替换整个output: html_document
行不会导致错误。