如何在不写入特定路径的情况下连接文件夹中的数据,例如:"C:\Users\Dima\Desktop\NewData\..."



我正在编写一个脚本,该脚本需要我的计算机文件夹中的数据。

,但最终该脚本将在另一台计算机中,另一个人使用。

我不能告诉他更改脚本中数据的所有路径。

如何在不编写特定路径的情况下连接文件夹中的数据

喜欢:" C: Users Dima Desktop newdata ..."

使代码共享的最佳方法取决于您的用例。

正如Carl Witthoft指出的那样,大多数代码应封装在功能中。然后可以将这些功能包装到包装中,并在其他人的机器上轻松重新分布。编写软件包比您想象的要容易。

对于一个关闭分析,脚本是适当的。您如何使它们与用户无关,取决于您的用户是谁。如果您正在与同事共享脚本,请尝试将数据保留在网络驱动器上,那么每个人的数据链接将相同。如果您要与世界共享脚本,请将您的数据保留在Internet上,并且数据链接将是一个超链接,同样,每个人都一样。

如果您正在与几个无法访问公共驱动器的人共享脚本,并且您无法将数据放在互联网上,那么一些目录操作是可以接受的。

将您的工作目录更改为项目文件所在的根源。

setwd("c:/Users/Dima/My Project")

然后,您可以使用相对路径引用数据的位置。

data_file <- "Data/My data file.csv"
my_data <- read.csv(data_file)

假设您将目录结构保持在项目中相同,则只需要更改每台机器上setwd的调用。

还要注意,特殊位置"~"是指您的用户主目录。尝试

normalizePath("~")

这样,如果您将项目保留在该位置,则可以完全避免参考" Dima"。

相关内容

最新更新