R语言基础

一些常用的 R 命令整理如下:

查看及调用包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
install.packages("bio3d", dependencies=TRUE)  # 安装包 
installed.packages() # 查看当前已安装的包 以及对应的版本

library() # 查看当前已安装的包
library(bio3d) # 调用某个包

library(bio3d)
help(package="bio3d")
vignette(package="bio3d")

library(bio3d)
demo("pdb")
demo("pca")
demo("md")

帮助

1
2
3
4
5
6
7
help(seq) 
example(seq)

?seq

seq(from, to)
seq(from, to, by= )

设置工作路径

1
2
getwd()
setwd()

基础

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# R不需要提前申明变量,大小写敏感,数组是从1开始。
a <- 1:3
a <-c(1:3)

sqrt(sum(a^2))

mean(a) # 均值

# 判断两个向量(矩阵)是否相同
a==b
all(a==b)

# 矩阵乘法
a %*% b

# 处理 csv 文件
b=read.csv('b.csv')
c=write.csv(b,file='c.csv')

write.csv(cij,file="dccm_60-80.csv",row.names = FALSE)
c=read.csv("dccm_60-80.csv",header = TRUE)


# 字符串操作
strsplit('123abcdefgabcdef','ab') # R 截取字符串,并返回一个列表
paste("abc","12",sep=",") # R 合并字符串

矩阵处理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
X=matrix(1:12,nrow=4,ncol=3)

X[1,1]

dim(X) # 返回矩阵维数
dim(X)[1] # 返回矩阵行数
dim(X)[2] # 返回矩阵列数
nrow(X) # 返回矩阵行数
ncol(X) # 返回矩阵列数

dim(X)=c(2,6) # dim()也可以改变矩阵的维数

# 查看矩阵行列的名称
X=matrix(1:6,nrow=3,ncol=2,byrow=T,dimnames=list(c("A","B","C"),c("boy","girl")))
X
boy girl
A 1 2
B 3 4
C 5 6

rownames(X) # 查看矩阵的行名
colnames(X) # 查看矩阵的列名
rownames(X)=c("E","F","G") # 同时也可以改变矩阵的行名和列名
colnames(X)=c("man","woman")


X=matrix(1:12,nrow=4,ncol=3)
B=matrix(data=NA,ncol=ncol(A),nrow=nrow(A))

按列(行)求均值(和)
rowSums(A)
rowMeans(A)
colSums(A)
colMeans(A)

# 求协方差矩阵
C=cov(B)

Eig=eigen(C) # 求特征值及对应的特征向量
lam=Eig$values # 特征值,降序排列
vec=Eig$vectors # 特征向量矩阵,每一列为一个归一化的特征向量
length(lam)
dim(vec)

sqrt(sum(vec[,1]^2))

画图添加直线

1
2
abline(v=309,lwd=4,col="blue")        #添加一条垂直直线x=3,线宽为4,颜色蓝色
abline(h=309,lwd=4,col="blue") #添加一条垂直直线y=3,线宽为4,颜色蓝色

保存图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
x<-c(1,2,3,4) 
y<-c(2,4,6,8)

1. 交互式画图之后保存图片
a) 直接在图形窗口中点击另存为图片
b) plot()之后通过dev.print()函数进行保存,eg:
plot(x,y)
dev.print(pdf, file="filename.pdf")
dev.off()

2. 不在图形界面中显示而直接保存图片
pdf(file="graph.pdf")
plot(x,y)
dev.off()

其它支持的图片格式:pdf, png, jpeg, bmp, tiff, xfig, postscript等。

运行R脚本的方法

1
2
3
4
5
6
7
8
9
10
1. 在R中进行source
source("file.R")

2. R CMD BATCH
R CMD BATCH file.R output.Rout

3. Rscript
Rscript --vanilla file.R

# options:默认--restore --save --no-readline;--help 查看帮助信息;--version 查看R版本;--slave只打印R脚本的输出,而不显示脚本具体执行情况;--no-timing 去除输出文档结束的运行时间输出。

待续