1

我正在生成一个重复的 HTML 报告,显示用 R 计算的表格和图形。我正在使用 R2HTML 包中的函数,嵌入在 for 循环中。我在我的机器上没有管理员权限。在计算的某个时刻,我有时会收到以下错误:

文件错误(文件,ifelse(追加,“a”,“w”)):无法打开连接另外:警告消息:在文件(文件,ifelse(追加,“a”,“w”)):不能打开文件“P:/My Documents/R/test.html”:权限被拒绝

这不会在每次运行时发生,也不会在代码中的同一点发生。当我尝试运行以下简单代码时,我会遇到同样的错误:

require( R2HTML)

.HTML.file = file.path( 'P:/My Documents/R' , 'test.html' )  
# To set the access path to the HTML file  that will be created

cat(paste("<html><head><title>", 'test.html', "</title></head>", sep = ""), file = .HTML.file , append = FALSE ) 
# To create and initiate the HTML file

for( i in 1:100 )
{
    HTML('Test')
}
# To write the same line to the HTML file repeteadly

大多数时候这个循环可以毫无问题地运行,但有时它会产生上述错误(有时在循环开始,有时在结束)。有人知道这是什么原因吗?我在 Windows xp pro 机器上使用 R-2.15.0。如果有人可以帮助我解决这个问题,我将非常感激。谢谢。

4

1 回答 1

0

正如 Andrie 在评论中所建议的那样,解决方案是在字符串对象中捕获 R2HTML 函数的输出,并在循环后仅使用一次对 HTML 函数的调用来创建 HTML 文件。

于 2013-10-28T10:08:24.247 回答