如何阻止normalizePath返回标记化路径

时间:2012-12-27 16:56:05

标签: r text runtime-error token output

我有一个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);

1 个答案:

答案 0 :(得分:0)

我可以在我的系统上运行以下代码,从姐妹目录../output存在的目录开始(我的系统上没有open所以我使用了gedit作为外部命令):

fn <- "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"
prot <- function(x) paste0('"',x,'"')
writeLines(c("a","b"),con=paste0("../output/",fn))
n <- tools::file_path_as_absolute(paste0("../output/",fn))
file.show(n)
system2("gedit",prot(n))

您是否可以在系统上失败的这些行中创建可重现的示例? (file.show()是否适合您?)

(为了代码格式化而发布作为答案而不是评论......)