0%

R-小技巧

📔记录平常使用R的一些小技巧

RStudio

RStudio是R的一种编译环境

其代码输入的主要区域为console与source。个人感觉最好在source中以脚步的形式编写代码,即使只有一两行,可以养成编写代码的习惯。在脚本中编写代码可以Ctrl + Enter的形式运行当前光标所在一行的代码,或者选择多行后一起运行。

R的小技巧

  1. 在console中可通过键盘的“↑”返回上一行的代码
  2. dev.off() 可以关闭当前画图的窗口。
  3. rm(list = ls()) 可以移除当前环境中所有变量,其中rm() = remove()
  4. RStudio中各种小扫把,可以去除相应区域的对象。
  5. ‘?function’可以查询该function的信息。可以将help中的例子复制至script中尝试调用。
1
2
3
4
5
6
7
8
9
10
11
12
13
Examples # rm() 的例子

tmp <- 1:4
## work with tmp and cleanup
rm(tmp)

## Not run:
## remove (almost) everything in the working environment.
## You will get no warning, so don't do this unless you are really sure.
rm(list = ls())

## End(Not run)

R包的安装

.libPaths()可查看当前包安装的路径

1
2
> .libPaths()
[1] "**/R-3.5.2/library"

R library的安装可以通过 install.packages("package") 实现。

发布在Bioconductor的R包则需要通过BiocManager::install()安装

R包的加载

R包只需要安装一次,本机的用户就可以使用。使用的方式则是进入新的工作环境时,加载我们需要用到的包,有两种方法实现:

1
2
3
# package有无引号都可以加载
library(package)
require(package)

两者区别在于:

library和require都可以载入包,但二者存在区别。
在一个函数中,如果一个包不存在,执行到library将会停止执行,require则会继续执行。

R包的解除

有时候载入多个包可能会让同名函数发生冲突,这个时候可以通过解除环境中的某个包来避免函数冲突

1
2
## 解除`dplyr`
detach("package:dplyr")

R的环境变量

1
2
3
4
## 获取环境变量
Sys.getenv()
## 设定环境变量
Sys.setenv(KEY='value')

获取当前工作环境的变量

ls() 默认下可以获取当前工作环境内已创建的变量名

1
2
3
4
a <- 1:3
b <- c('a','b','c')
ls()
## [1] "a" "b"

获取当前工作环境的特定变量

objects() 默认下可以获取当前环境特定变量名

1
2
3
4
5
a1 <- 1:5
a2 <- 2:6
a3 <- 8:9
objects(pattern = '^a')
## [1] "a" "a1" "a2" "a3"

注意的是无论是ls() 还是objects() 返回的只是变量名,如果需要获取变量具体的值需要使用get()mget()

暂完。