2012-11-09 70 views
21

我正在使用Rscript来绘制某些目录中给定CSV文件的某些数字,这不一定是我当前的工作目录。我可以按以下称之为:如何获取R中输入文件的绝对路径

./script.r ../some_directory/inputfile.csv 

现在我想我的输出数据在同一个目录(../some_directory),但我不知道该怎么做。我试图获得输入文件的绝对路径,因为我可以构建输出路径,但我无法找到如何做到这一点。

回答

34
normalizePath() #Converts file paths to canonical user-understandable form 

library(tools) 
file_path_as_absolute() 
+0

这不适用于2016年 – Greg

+2

在3.2.3版本中,'normalizePath(“。”)'和'file_path_as_absolute(“。”)'仍然适用于我。 – MattBagg

+0

@Greg你能列出哪个版本的R你发现这不适用?我即将把它融入到我的程序中,并且事先知道它会非常有帮助,谢谢。 – user5359531

2

这里的解决方案:

args = commandArgs(TRUE) 

results_file = args[1] 

output_path = dirname(normalizePath(results_file)) 
+0

看来'dirname()'只给出路径减去当前文件夹。有没有类似的东西可以提供完整的路径? – Phillip

0

我看到人们给解块,但不是全部。 我用过这个:

outputFile = paste(normalizePath(dirname(inputFile)),"\\", "my_file.ext", sep = "") 

希望它有帮助。

相关问题