我正在生成一个重复的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专业版机器上使用R-2.15.0。如果有人可以帮助我,我会非常感激。 感谢。
答案 0 :(得分:0)
正如Andrie在评论中所建议的那样,解决方案是捕获字符串对象中R2HTML函数的输出,并且只使用一次HTML函数调用来创建循环后的HTML文件。