2014-01-10 23 views
1

我刚学R,所以这可能是一个简单的问题R:如果(file.exists(

我有一大堆的代码,我想运行如果先前在产生一定的文件路径代码的存在。所以...创建

2.如果路径中存在

1.A路径,然后将其余代码应该运行

这是什么代码看起来这部分如:

label_file=paste(label_folder,"Files/",as.matrix(babble_data)[n,3],label_extension,sep="") 

if (file.exists(label_file){... 

它运行时没有给我任何错误,但它正在处理每个文件路径(即使存在的文件路径),就像不存在一样。

我的语法不正确吗?我能找到的所有例子都是这样的,所以我不知道它为什么不按照它应有的工作。任何想法?谢谢。

+0

为什么不直接将所有路径保存在列表中并使用列表中的每个元素(文件路径)执行操作? – rawr

+0

创建'label_file'后,将其打印出来,看看它的值是否正确。你没有向我们展示过'label_folder'(最后是否有正斜杠?)和'label_extension'(它有一段时间在开始?),所以很难调试这个问题。 – josliber

回答

0

您在曲线括号之前的if语句中缺少结束圆括号。这可能会有所有可能的副作用,尽管代码分析错误是最可能的。

此外,as.matrix(babble_data)[n,3]可以产生一个结果向量,所以paste可以产生一个文件名向量,if (file.exists(将失败。