在 R 中读取文件而不更改工作目录

Posted

技术标签:

【中文标题】在 R 中读取文件而不更改工作目录【英文标题】:Read a file in R without changing the working directory 【发布时间】:2021-10-11 12:07:58 【问题描述】:

运行我的 R 程序的其他人如何在不更改 setwd() 中的工作目录的情况下读取我的 R 代码中使用的文件(例如:csv)?

【问题讨论】:

数据从何而来?如果您想查找与您的 R 脚本相关的文件,可以查看here package。或者你在使用 RStudio?如果是这样,请考虑使用 RStudio 项目。阅读更多关于project oriented workflows 你在 Windows 上吗? 【参考方案1】:

read.csv 有一个 file 参数,如果我要引用关于 file 的内置 R 帮助:

如果不包含绝对路径,则文件名是相对于 当前工作目录,getwd()

因此,在 file 参数中提供文件的绝对路径可以解决此问题。


在 Windows 中

假设您的文件名是test.csv,并且它位于D:\files\test_folder(您可以从Windows 的属性中获取任何文件的位置)

为了读取这个文件,你运行:

df<-read.csv('D:\\files\\test_folder\\test.csv')

df<-read.csv('D:/files/test_folder/test.csv')

推荐阅读:Why \\ instead of \和Paths in programming languages

没有在 Linux 中使用过R,但也许Getting a file path in Linux 可能会有所帮助


从网上阅读

只需在file 属性中输入数据集的网址即可。试试:

df<-read.csv('https://raw.githubusercontent.com/AdiPersonalWorks/Random/master/student_scores%20-%20student_scores.csv')

注意:此链接包含 25 名学生及其学习时间和分数的列表。我自己将这个数据集用于我早期的任务之一,它非常安全

【讨论】:

【参考方案2】:

我建议您在代码中使用 here 包中的 here() 函数,如下所示:

library(here)
Data1 <- read_csv(here("test_data.csv"))

【讨论】:

以上是关于在 R 中读取文件而不更改工作目录的主要内容,如果未能解决你的问题,请参考以下文章

如何用R读取数据

从文件中读取而不跳过空格

R.003 Rstudio使用

R语言 CSV文件

从文件中读取而不阻止它被删除

更改 Xcode 中的工作目录