mysql在计算机管理中的路径怎么修改_Rstudio中修改工作路径的三种方法
原文链接:
Rstudio中修改工作路径的三种方法_weixin_44370085的博客-CSDN博客_rstudio改变工作目录blog.csdn.net
Rstudio中修改工作路径的三种方法
1.使用setwd()函数
这个也可以在RStudio的图形化窗口里操作
作用:起到临时更改路径的作用,只对当前的Rstudio窗口有效。一旦窗口关闭,又会回到默认路径下。getwd()函数是获取当前路径的函数。
2.global options设置(如图所示)
首先在tools菜单栏下,点击global options选项
然后在default working directory 中可以修改默认工作路径,点browse修改工作路径
最后保存,重新打开Rstudio后工作路径就变成已修改的路径了。
3.通过启动代码设置
首先在Rstudio关联的R版本中,打开“D:Program FilesRR-3.4.3etc”文件夹下的Rprofile.site文件
其次将下述代码复制到Rprofile.site文件中
.First <- function(){setwd(“d:/rdata”)
}
其中工作路径可以按照自己的要求改变
原理:R工作时首先加载.first功能
----------2020年7月10日----------
R Project管理(经评论区指导)
使用项目结构管理的效率比直接创建R脚本的效果好。
参考链接:
R基础 | 学会使用R project及R项目结构示例www.jianshu.com
当我们分析项目的时候,最好是用文件夹+Project的形式来组织内容。
从零新建R项目
如果是比较大的分析项目最好在一开始就保存为一个rproject。
1.右上角Project右侧倒三角,菜单中点击New Project可以创建新项目。
横线下面的是已经创建过的项目名,可以点击切换到其他项目。
2.创建新项目时需要指定一个文件夹,最好是一个新的文件夹。以后产生的R代码,图片都会默认存在这个文件夹下。
从存在文件夹创建R项目
- 打开RStudio 点击 File -> New Project....
- 选择Existing Directory
- 点击 Browse ,找到自己的项目文件夹
- 最后点击 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。
脚本组织方式:
- library模式:按照分析内容的不同来分成不同子文件夹(ETL,transformation,plotting)。
- 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)
require(dplyr) # need to load plyr before dplyr & not the other way!
require(tidyr)
require(stringr)
# require(bigQueryR)
require(janitor)
packrat
与别人分享代码的时候,常常由于每个人机器上的R版本以及安装的R包的版本不一致,导致程序无法运行,常常看到的错误信息是,你所运行的R包不支持3.X.X版本。将自己项目使用的包打包,这样别人就可以顺利的复现自己的结果了。
packrat的优点:
- 独立:为一个项目安装新的或不同版本的包不会影响其他的项目。它让每一个项目都有自己独立的包库。
- 便携:可以方便的将自己的项目从一台电脑转移到另一台电脑,甚至跨平台。
- 可重复:它记录你需要的每一个包的版本,并保证无论到哪里你都安装的是同样版本的包。
install.packages("packrat")
使用packrat要从创建项目初始开始。先新建项目文件夹。然后将这个文件夹初始化为packrat文件夹。
packrat::init("~/projects/packrat_try")
Packrat project不同于R project的一点是,它有自己的库。在这个项目中安装的任何包都只针对这个project,而project外安装的所有包对这个project都不可用。
项目文件夹下多了packrat文件夹。里面主要存储安装包的信息。
checkpoint
checkpoint可以
- 创建一个快照文件夹~/.checkpoint用来存包。
- 扫描我们的项目文件夹,通过library() and require()来确定我们用了哪些包
- 从MRAN 安装包install.packages()到我们自己的快照文件夹
- 将我们的CRAN镜像指向MRAN (修改options(repos))
创建和使用的代码是一样的。快照信息存在~/.checkpoint
library(checkpoint)
checkpoint("2015-04-26")
这两行代码放在自己的脚本的最上面。
两个包的区别
checkpoint基于server端,因此负担不在用户这里,而在服务器上。服务器每天会记录当天R所有包的版本号。代码创建者只需要记录快照日期,而使用者通过快照日期就可以安装和创建者版本一致的R包。
Packrat需要用户远程数据同步自己的Packrat文件和代码给另一个用户。 这是一个很繁重的过程。 但对于包的版本不是更新到同一天,或者有些包不在CRAN上面(github),那么packrat更适用。
mysql在计算机管理中的路径怎么修改_Rstudio中修改工作路径的三种方法相关推荐
- 免越狱!苹果iPhone手机怎样修改运营商名称?教你三种方法!
上次分享了安卓手机和苹果手机修改运营商的方法,小伙伴反馈回来一些问题,先解答以下安卓手机修改运营商遇到的问题,有的小伙伴可能会遇到无法修改的问题,解决方法很简单,只需要在应用管理中将APP的悬浮窗权限 ...
- php中获取对象的属性值,PHP获取对象属性的三种方法
今天查看yii源码,发现yii\base\Model中的attribute()方法是通过反射获取对象的public non-static属性.记得以前看到的代码都是用get_object_vars() ...
- fiddler修改接口请求返回数据Response的三种方法
背景 访问某个URL地址,正常返回结果是 {"code":0,"msg":"success","rows":[" ...
- js 中编码(encode)和解码(decode)的三种方法(传递是特殊符号丢失问题,如‘+’)
转自:https://www.cnblogs.com/luckyuns/p/6396701.html js对文字进行编码涉及3个函数:escape,encodeURI,encodeURICompone ...
- js 中编码(encode)和解码(decode)的三种方法
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 下 ...
- linux设置环境变量java_home,Linux下修改和设置环境变量JAVA_HOME的三种方法
1. 永久修改,对所有用户有效 # vi /etc/profile //按键盘[Shift + g], 在profile文件最后添加下面的内容: export JAVA_HOME = /home/my ...
- html中通过点击button标签实现页面跳转的三种方法
方法1:使用onclick事件 <input type="button" value="按钮"onclick="javascrtpt:windo ...
- C# 中对象与JSON字符串相互转换的三种方法
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式. 关于内存对象和JSON字符串的相互转换,在实际项目中应比较广泛,经过一番搜索,找到如下 ...
- python提取cad坐标_怎么提取cad中坐标?CAD批量提取坐标点的三种方法
经常有一些小伙伴问,CAD中怎么批量提取坐标点,今天给大家总结三种方法. 方法一:多段线顺序连接并提取. 1.多段线pl连接点: 2.li命令提取坐标: 3.将点位粘贴至excel,利用数据,分列,最 ...
- 处理数据中分类变量的三种方法(附代码实现)
本文是将kaggle Courses中 Categorical Variables | Kaggle进行了翻译并且加入自己的理解,如有地方不清楚,可以查阅原文 文章目录 介绍 三种方法 1)删除分类变 ...
最新文章
- angularjs中$http模块发送post请求request payload转form data
- html网页访问WebAPI中的方法遇到的问题
- Linux-3.2.0.24中内核的Netlink测试使用
- 快速轻巧的CQRS和事件源解决方案
- 语料库python_NLPPython笔记——语料库
- SQL:两种获取时间类型日期部分的方法
- Python打包成.exe文件详细实例
- 选择checkbox显示隐藏内容
- 数学建模——典型相关分析及相关SPSS操作
- java中XML转JSON、JSON转XML、XML转对象(Object)、对象(Object)转XML,利用XSD验证XML(手把手教你如何接收、处理、验证XML数据)
- 加了尾注怎么添加新页_如何在毕业论文利用尾注添加参考文献之后再续正文
- 快恢复二极管工作原理、反向恢复时间详解
- EasyBCD and UEFI
- Apple Swift学习资料汇总
- 浅谈C++11标准中的复制省略(copy elision,也叫RVO返回值优化)
- matlab静电场有限元分析
- PHP类实例教程(二十):PHP类接口的实现接口
- Microsoft OLE DB Provider for ODBC Drivers (0x80004005) 操作必须使用一个可更新的查询”错误的解决办法
- angular5解决chrome等浏览器不能播放.m3u8视频流
- 超声波风速风向传感器的通讯协议
热门文章
- HDLBits答案(23)_找BUG
- java正则转义_Java 正则表达式 转义字符
- devexpress卸载不干净_最好用的卸载工具,清理彻底,专治各种流氓软件
- java弃用标签_Java 9 揭秘(15. 增强的弃用注解)
- ssd网络结构_封藏的SSD(Single Shot MultiBox Detector)笔记
- VMware中虚拟机与主机不能ping通解决办法
- shell脚本学习(一):shell脚本开发的基本规范和习惯
- 【OpenStack】OpenStack系列9之Compute节点安装
- [转]为mysql数据库建立索引
- 使用 Async 和 Await 的异步编程