BGI-College生信入门——8、R语言基础(一)

什么是 R?

R 是用于统计和作图的免费软件
可在各种 UNIX 平台、Windows 和 MacOS 上编译和运行

R 的组成

一种语言、带有图形的运行环境、调试器、访问某些系统功能以及运行脚本文件中程序的能力

R 的安装

R installation on Unix-like
R installation on Windows
R installation on Mac

什么是 RStudio

RStudio 是 R 的集成开发环境 (Integrated Development Environment, IDE)

RStudio 的组成

一个控制台、支持直接代码执行的语法高亮编辑器,以及用于绘图、历史记录、调试和工作区管理的工具

RStudio 的安装

注意 RStudio 安装需预先安装 R ,并在同一个磁盘

Tips

查看所有已安装的 R 包

1
library()

安装指定的 R 包

1
install.packages() 

列出当前环境定义的变量

1
ls() 

清空当前环境变量

1
rm(list=ls(all=TRUE))

清空当前行命令

1
Eas

自动补全

1
tab

清屏

1
Ctrl + L

调出历史命令

1
Ctrl + up

列出当前目录下的所有文件

1
list.files()

返回当前路径

1
getwd()

设置工作路径

1
setwd()

列出文件前6行信息

1
head()

列出文件后6行信息

1
tail()

R 的数据类型

VectorMatrixArrayData FrameListFactor
向量 矩阵 数组 数据框 列表 因子

判断数据类型

1
2
3
4
5
6
7
# 方法一
class()
typeof()
# 方法二
is.vector()
is.matrix()
is.array()

向量、矩阵和数组都是高等数学运算中常用的工具,在 R 中作为数据类型,可以更方便地操作数据对象

创建向量使用c()

1
2
3
a <- c(1,2,3,4,5)
print(a)
[1] 1 2 3 4 5

创建矩阵可以使用 matrix() 函数

1
2
3
4
### 创建一个1行5列的矩阵
matrix(data = a, nrow = 1, ncol = 5, byrow = FALSE, dimnames = NULL)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5

data 向量
nrow 行数
ncol 列数
byrow 逻辑值,按行或列排序
dimnames 设置行列名称

创建数组使用 array() 函数,该函数使用向量作为输入参数,可以使用 dim 设置数组维度

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
### 创建一个2行3列的二维数组
b <- c(6,7,8)
array(data = c(a,b), dim = c(2,4,2), dimnames = NULL)
, , 1
 
     [,1] [,2] [,3] [,4]
[1,]    1    3    5    7
[2,]    2    4    6    8
 
, , 2
 
     [,1] [,2] [,3] [,4]
[1,]    1    3    5    7
[2,]    2    4    6    8
### 创建一个2行2列的二维数组
array(data = c(a,b), dim = c(2,2,2), dimnames = NULL)
, , 1
 
     [,1] [,2]
[1,]    1    3
[2,]    2    4
 
, , 2
 
     [,1] [,2]
[1,]    5    7
[2,]    6    8

data:向量
dim:数组维度,默认是一维
dimnames:维度名称,默认不设置

Data Frame 数据框,特殊的二维数据列表,要求每一列长度相同,同一列数据类型一致

创建数据框使用 data.frame() 函数

1
2
3
data.frame(..., row.names = NULL, check.rows = FALSE,
           check.names = TRUE, fix.empty.names = TRUE,
           stringsAsFactors = FALSE)

...:列向量(字符型、数值型、逻辑型),以 tag = value 形式表示,也可以直接用 value
row.names:行名,默认不设置,可设置为单个数字或字符串的向量
check.rows:检查行的名称和长度是否一致
check.names:检查数据框的变量名是否合法
fix.empty.names:设置未命名的参数是否自动设置名称
stringsAsFactors:布尔值,字符是否转换为因子,在 R 4.0.0 中默认为FALSE

List 列表是 R 语言的对象集合,用来保存不同类型的数据(数字、字符串、向量、列表、矩阵和函数)

创建列表使用 list() 函数

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
### 创建一个纯数字的列表
list_a <- list(1,2,3,4,5)
print(list_a)
[[1]]
[1] 1
 
[[2]]
[1] 2
 
[[3]]
[1] 3
 
[[4]]
[1] 4
 
[[5]]
[1] 5
 
### 创建一个包含向量、矩阵和列表的列表
list_b <- list(c(4,5,6),matrix(c(1,2,3,4),nrow = 2),list("BGI","College",2022))
print(list_b)
[[1]]
[1] 4 5 6
 
[[2]]
     [,1] [,2]
[1,]    1    3
[2,]    2    4
 
[[3]]
[[3]][[1]]
[1] "BGI"
 
[[3]][[2]]
[1] "College"
 
[[3]][[3]]
[1] 2022
 
### 使用 names() 函数给列表元素命名
names(list_b) <- c("vector","matrix","list")
print(list_b)
$vector
[1] 4 5 6
 
$matrix
     [,1] [,2]
[1,]    1    3
[2,]    2    4
 
$list
$list[[1]]
[1] "BGI"
 
$list[[2]]
[1] "College"
 
$list[[3]]
[1] 2022

Factor 因子用于存储不同类别的数据类型,例如球类可以分为篮球、足球、排球、羽毛球、乒乓球等等

创建因子使用 factor() 函数

1
2
factor(x = character(), levels, labels = levels,
       exclude = NA, ordered = is.ordered(x), nmax = NA)

x:向量
levels:指定水平值,不指定时通过 as.character(x) 确定
labels:水平的标签, 不指定时用各水平值的对应字符串
exclude:形成水平值时需要排除的字符
ordered:逻辑值,用于指定水平是否有序
nmax:水平的上限数量

把字符型向量转换成因子

1
2
3
4
5
6
7
8
9
ball <- c("basketball","football","volleyball","badminton","pingpong")
ball_type <- factor(ball)
print(ball_type)
[1] basketball football   volleyball badminton  pingpong 
Levels: badminton basketball football pingpong volleyball
 
### 判断数据类型是否为因子
is.factor(ball_type)
[1] TRUE
posted @   华大基因学院  阅读(221)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示