抱歉,这篇文章太长了,但我是一个新手,我想说得更具体一些。
我在一组目录中,在一组目录中有不同数量的数据帧。(这是60个内部目录,因此我尝试将其自动化。)我的目标是列出并打开每个外部目录;在其中列出并打开每个内部目录;并在其中使用数据帧执行一些简单的功能(取一些值的平均值,等等)。
该脚本返回"Error in setwd( instead ):only change working directory",并对外部目录中的文件执行该函数,仅对第一个外部目录执行该函数。我认为脚本调用函数的顺序是错误的,可能是因为我嵌套了for循环,使得setwd(内部)和setwd('..')位于setwd(外部)和setwd('..')中,以便访问每个目录中的每个目录。这不是递归或路径名问题,因为在我的目录列表(使用list.dirs)中,无论recursive和full.names是否为真或假,都会产生相同的错误。
我读到过使用setwd的缺点,但我是唯一的分析师,不需要与其他人/机器/操作系统共享脚本(我在MacOS10.7.5中使用RStudio )。有没有比setwd更好的函数来分析每个目录中每个目录中的所有文件?或者,我是否需要使用更简单的脚本来仅在内部目录中工作,并手动将其单独应用于这60个目录?感谢您的阅读,并提前感谢您能提供的任何建议!
发布于 2015-02-24 12:30:32
我将使用基数r附带的函数list.files函数。list.files将递归地为文件searCH一个文件夹。您还可以包含一个模式,以便函数只返回匹配的文件。
list.files将返回您正在查找的文件的相对路径,因此您可以读取每个数据帧,而不必更改您的工作目录。
我希望你会发现这一点很有用。
如果你还需要任何帮助,请告诉我。
干杯
https://stackoverflow.com/questions/28686576
复制相似问题