【发布时间】:2015-12-28 09:21:09
【问题描述】:
我有一份报告,需要记录从天气数据库获取的数据。到目前为止,在控制台中执行的每个命令都给出了很好的结果,但是当我尝试用这些相同的命令输出一个简单的 HTML 报告时,我遇到了一些奇怪的 knitr 问题,我觉得这是一个错误,因为这不应该发生。
它基本上涉及对需要替换的某些值使用 gsub() 命令。在通常的命令执行中,我能够通过适当的命令替换需要替换的所有必需内容,但是这些相同的命令在编织到 HTML 时会出现此错误:
Quitting from lines 81-92 (experiment.Rmd)
Error in `$<-.data.frame`(`*tmp*`, "PROPDMGEXP", value = numeric(0)) :
replacement has 0 rows, data has 902298
Calls: <Anonymous> ... withVisible -> eval -> eval -> $<- -> $<-.data.frame
Execution halted
我正在使用这个命令:
df$column <- gsub('some content', 'replace', df$column)
它真的很简单,但 knitr 不会让我发布报告。为了获得更多参考,名为 PROPDMGEXP 的列具有我用数字 (0-2) 替换它们的字符值,如下所示:
PROPDMGEXP
K
K
M
NA
我根据数据将它们替换为 0-2,但为什么 knitr 会在这方面给我错误?
编辑:这是完整的参考代码以防万一:
url <- 'some url'
download.file('url', distil = 'xyz.zip')
unzip('xyz.zip')
read.table(xyz.rds)
xyz$PROPDMGEXP <- gsub('K', '1', xyz$PROPDMGEXP)
当我将相同的代码粘贴到 Rmd 文件中并将其编织成 HTML 时,错误出现在最后一行。
【问题讨论】: