对不起,这很长,但我是新手,想要具体。
在一组目录中,我在一组目录中拥有不同数量的数据帧。 (这是60个内部目录,因此我正在尝试自动执行此操作。)我的目标是列出并打开每个外部目录;在其中,列出并打开每个内部目录;在其中,用那里的数据帧执行一些简单的函数(平均一些值等)。
脚本返回“setwd(内部)中的错误:无法更改工作目录”,而是对外部目录中的文件执行功能,而不是第一个外部目录。我认为脚本是以错误的顺序调用函数,也许是因为我嵌套for循环使得setwd(内部)和setwd('..')都在setwd(外部)和setwd('..')之内,为了访问每个目录中的每个目录。它不是递归或路径名称问题,因为在我的目录列表(带有list.dirs)中递归和full.names是TRUE还是FALSE会导致相同的错误。
我已经读过使用setwd的失败,但我是唯一的分析师,不需要与其他人/机器/操作系统共享脚本(我在Mac OS 10.7.5中使用RStudio)。是否有比setwd更好的功能来分析每个目录中每个目录中的所有文件?或者我是否需要使用更简单的脚本才能在内部目录中工作,并将其单独手动应用于这60个目录?感谢您的阅读,并提前感谢您提供任何建议!
答案 0 :(得分:1)
我将使用base r附带的函数list.files函数。 list.files将以递归方式搜索文件夹。您还可以包含一个模式,以便该函数仅返回匹配的文件。
list.files将返回您要查找的文件的相对路径,这样您就可以读取每个数据帧而无需更改工作目录。
我希望你会发现这很有用。
如果您需要任何其他帮助,请与我们联系。
干杯