【发布时间】:2013-10-19 18:32:17
【问题描述】:
我收到一个错误,Error in lines[[i]] : subscript out of bounds,当我尝试编织一个从外部文件读取模型然后将模型拟合到 lavaan 中的块时。
我在.R 文件中创建模型:
model <- readLines(con = textConnection('
depression =~ thoughts + pain + brain + use + suic + talk + sitalone +
headaches + app + heart + cheek + cry + sleep + disob + cold +
liedown + worries + alone + annoyed + holdhead + drinkal +
insult + greet + think + mutter + trust + donoth + sad + bad +
weak + notalk + forget + crycont + livedie
'))
cat(model, file = 'scripts/mod.lav.f1.0', sep = '\n')
运行.R 文件时,它会将以下内容放入scripts/mod.lav.f1.0 文件中:
depression =~ thoughts + pain + brain + use + suic + talk + sitalone +
headaches + app + heart + cheek + cry + sleep + disob + cold +
liedown + worries + alone + annoyed + holdhead + drinkal +
insult + greet + think + mutter + trust + donoth + sad + bad +
weak + notalk + forget + crycont + livedie
然后我的.rnw 文件读入指定我的模型的scripts/mod.lav.f1.0。
\documentclass{article}
\begin{document}
<<cfa, include=FALSE, tidy=FALSE>>=
# read in model from file
mod.1f.0 <- readLines("scripts/mod.lav.f1.0")
# fit the model
fit.1f.0 <- cfa(mod.1f.0, data = mydata, ordered=items)
@
\end{document}
块中有问题的语句似乎是fit.1f.0 <- cfa(mod.1f.0, data = mydata, ordered=items)。编织文档时,出现错误:Error in lines[[i]] : subscript out of bounds。
我可以在R 中运行该块而没有任何问题。模型存储在mod.1f.0,拟合存储在fit.1f.0。
对导致此错误的原因有什么想法吗?
【问题讨论】:
-
我们不知道
mydata或items是什么,所以这不是一个可重复的例子。你能提供一个最小的独立的例子吗?您也可以在错误发生后在 R 会话中提供library(knitr); sessionInfo()和traceback()。 -
谢谢@Yihui。有人给我发了另一个我能够运行的示例,所以我决定删除我的缓存和 RStudio 创建的所有隐藏项目文件。有效。在这样做之前,我只尝试过重新启动 RStudio。我会关闭这个问题。