【发布时间】:2012-12-27 16:56:04
【问题描述】:
我有一个 R 程序,它执行大量数据分析并将结果输出到文本文件。不幸的是,当我打电话时
system2("open", file_path_as_absolute(toFile));
R 解释器声明如下
'../output/HLA-A,B,C,DR,DP,DQ' not found
'GT2' not found
'vs' not found
'LT2_DRB1_output2of9.10.11.12.13.14.16.25.26.28.30.31.32.33.37.38.40.47.57.58.60
.67.70.71.73.74.77.78.85.86.txt' not found
基于此错误,我假设 file_path_as_absolute 标记了文件名,但我不确定如何禁用它。我也尝试过 normalizePath(),但我得到了同样的错误。
编辑
文件本身被称为
"HLA-A,B,C,DR,DP,DQ GT2 vs LT2_DRB1_output2of9.10.11.12.13.14.16.25.26.28.30.31.32.33.37.38.40.47.57.58.60.67.70.71.73.74.77.78.85.86.txt"
并且位于../output
这是我打开文件时运行的代码,它给了我同样的错误
openSesame <- paste0('"', file_path_as_absolute(toFile), '"');
system2("open", openSesame);
【问题讨论】:
-
帮助文件说
file_path_as_absolute是normalizePath的包装,所以你得到相同的答案也就不足为奇了。请提供可重现的示例:toFile是什么?它里面有空格吗(通常是个坏主意)?如果是这样,您可能需要用引号保护它......看起来错误来自操作系统(即来自open),而不是R解释器...... -
PS你检查
file_path_as_absolute(toFile)的结果了吗? -
@BenBolker toFile 是保存我要打开的文件名的变量。如何用引号保护它?输出文件的名称中确实包含空格。
-
paste0('"',file_path_as_absolute(toFile)),'"')可能会起作用。但是一个可重复的例子tinyurl.com/reproducible-000 会很有帮助。 -
这不行,我会在我的原帖上给你看更新后的代码
标签: r text runtime-error token output