Rstudio中修改工作路径的三种方法

3 年前 · 来自专栏 计算机

原文链接:

Rstudio中修改工作路径的三种方法

1.使用setwd()函数

这个也可以在RStudio的图形化窗口里操作

选择对应的文件夹
然后选择Set As Working Directory

作用:起到临时更改路径的作用,只对当前的Rstudio窗口有效。一旦窗口关闭,又会回到默认路径下。getwd()函数是获取当前路径的函数。

2.global options设置(如图所示)

首先在tools菜单栏下,点击global options选项

然后在default working directory 中可以修改默认工作路径,点browse修改工作路径

最后保存,重新打开Rstudio后工作路径就变成已修改的路径了。

3.通过启动代码设置

首先在Rstudio关联的R版本中,打开“D:\Program Files\R\R-3.4.3\etc”文件夹下的Rprofile.site文件

其次将下述代码复制到Rprofile.site文件中

.First <- function(){
    setwd(“d:/rdata”)
}

其中工作路径可以按照自己的要求改变

原理:R工作时首先加载.first功能

----------2020年7月10日----------

R Project管理(经评论区指导)

使用项目结构管理的效率比直接创建R脚本的效果好。

参考链接:

当我们分析项目的时候,最好是用文件夹+Project的形式来组织内容。

从零新建R项目

如果是比较大的分析项目最好在一开始就保存为一个rproject。

1.右上角Project右侧倒三角,菜单中点击New Project可以创建新项目。

image.png

横线下面的是已经创建过的项目名,可以点击切换到其他项目。

2.创建新项目时需要指定一个文件夹,最好是一个新的文件夹。以后产生的R代码,图片都会默认存在这个文件夹下。

从存在文件夹创建R项目

  1. 打开RStudio 点击 File -> New Project....
  2. 选择Existing Directory
  3. 点击 Browse ,找到自己的项目文件夹
  4. 最后点击 Create Project.
.
└── my_awesome_project
    ├── src
    ├── output
    ├── data
    │   ├── raw
    │   └── processed
    ├── reports
    ├── README.md
    ├── analysis.R 
    └── .gitignore

data文件夹

按需求可有这些子文件夹

  • raw:对用户write-only,对R user read-only
  • temp:临时数据
  • output

src 文件夹

因为可能会有其他非R脚本,因此文件夹不写作R。
脚本组织方式:

  1. library模式:按照分析内容的不同来分成不同子文件夹(ETL,transformation,plotting)。
  2. pipeline模式:有一个主要的runner script,将所有脚本按顺序执行。
    无论哪种方式,都要将函数定义和应用分开。也就是说,只有pipeline或runner scripts用来执行函数,其他的都是定义函数的。
    另外脚本的组织可以视项目大小定。
  • 所有函数定义脚本放在src的子文件夹中(按用途分类命名文件夹,比如src/data_engineering)。将直接执行的脚本直接放在src下。适合较大的项目。
  • 将函数定义脚本放在src下,而执行脚本analysis.R放在根目录。适合小的项目。执行脚本可能像下面这样:
library(some_package)
library(some_other_package)
source("R/functions.R")
source("R/utilities.R")

output文件夹

一般把输出图放在output/plots下面。

reports文件夹

报告pdf放在reports/下面,reporting code放在src下面。

requirements and general settings

如果只是用某个包中的某个函数,不需要library整个包。 package::function(arg1, arg2, ...) 就可以了。
可以有一个requirements.R, 在所有脚本前执行。这个脚本中放一些基础设置,比如locale。还有CRAN install check。但更建议用Packrat。

## This is our requirements.R script
## TODO : include an `InstalledPackage` fallback
require(googleAnalyticsR)
require(lubridate)
require(dataframes2xls)
require(ggthemr)
require(plyr)