R|小技巧
2021-03-05 本文已影响0人
高大石头
1.默认加载包
如果在操作过程中,经常用到一些R包,可以设置成启动R后自动加载。在配置文件.Rprofile
中设置。
file.edit("~.Rprofile")
在打开的.Rprofile文件中输入:
#设置默认镜像
local({r <-getOption("repos")
r["CRAN"]<-"https://mirrors.tuna.tsinghua.edu.cn/CRAN/"
options(repos=r)})
#设置Biconductor镜像
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
.First <- function(){
library(tidyverse)
library(pacman)
cat("\nWelcome at",date(),"\n")
}
.Last <- function(){
cat ("\nGoodbye at ",date(),"\n")
}
.First <- function(){
library(tidyverse)
library(pacman)
}
Rmarkdown中,在代码块中设置
eval=FALSE
:显示代码,但不运行。
2.为R添加额外扩展包加载路径
默认情况下,R包加载目录在.libPaths()
目录中,可以为其添加更多的路径。
.libPaths()
## [1] "E:/Rproject" "D:/Program Files/R/R-4.0.3/library"
.libPaths(new = "E:/Rproject")
.libPaths()
## [1] "E:/Rproject" "D:/Program Files/R/R-4.0.3/library"
3. 拆迁R包
某些特殊情况下,需要将一台设备上安装的R包,在另一台设备上安装,首先保存A设备上的R包list,然后再 另一台设备上安装。
# A设备
oldip <- installed.packages()[,1]
save(oldip,file = "installedPackages.Rdata")
# B设备
load("installedPackages.Rdata")
newip <- installed.packages()[,1]
for(i in setdiff(oldip,newip)){
install.packages(i)
}
4.修改默认语言
Sys.getlocale() #显示系统语言
## [1] "LC_COLLATE=Chinese (Simplified)_China.936;LC_CTYPE=Chinese (Simplified)_China.936;LC_MONETARY=Chinese (Simplified)_China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_China.936"
Sys.setenv(LANGUAGE="en") #更改默认语言为英文
5. 边赋值边显示
(x <- rnorm(10))
## [1] 0.5454380 0.8646612 -0.5604911 -0.6011802 -1.6594942 0.2001943
## [7] -1.5415910 -0.7013765 -0.4777953 0.3674361
6.显示源代码
直接输入函数名,不加括号即可。
sd
## function (x, na.rm = FALSE)
## sqrt(var(if (is.vector(x) || is.factor(x)) x else as.double(x),
## na.rm = na.rm))
## <bytecode: 0x00000000131b5860>
## <environment: namespace:stats>
7.利用函数修改镜像
chooseCRANmirror() #选择CRAN镜像
chooseBioCmirror() #选择Bioconductor镜像
8.默认保留小数点位数
默认R显示7位小数,如果想默认显示3位小数,digits=3
。
options('digits' = 3)
9.选择最快的R镜像
Y叔开发的新技能,寻找最快的CRAN和Bioconductor镜像。
# install.packages("do")
do::mirror.speed(min.second = 0.1) #检测可以在0.1s以内访问的镜像。
再结合file.edit("~.Rprofile")
就可以快速进行下载了。
逐步更新中…………
参考文献:
R语言的一些特殊技巧(参考自公众号:基因学苑)
你不需要每次都重复加载一堆R包(参考自公众号:基因学苑)