补充:什么是.Rdata?
.Rdata
如果弹出以下的对话框,选择“Don't Save”。
Don't Save
(一)向量的生成
1. 用c()把数据逐一放到一起
数值型向量
字符型向量
注意:一个向量只能有一种数据类型。可以有重复值。
只能有一种数据类型
2. 连续的数字用冒号:
3. 重复用rep()
重复用rep(),times代表重复的次数
4. 有规律的序列用seq()
有规律的用seq()
有规律的用seq()
5. 随机数用rnorm
随机数用rnorm
n代表生成随机数的数量
rnorm具有随机性,每次运行的结果均不一样
6. 通过组合,产生更复杂的向量,用paste0()
paste0()
paste0()
paste0()
paste()
paste()
paste()
paste0和paste有什么区别?
练习2-2
1. 将两种不同类型的数据用c()组合在一起,查看输出结果。
字符型和数值型
字符型和逻辑型
逻辑型和数值型
逻辑型和数值型
三种类型
三种类型
三种类型
2. 生成1到30之间所有4的倍数
3. 生成sample4,sample8,sample12......sample28
(二)对单个向量进行操作
1. 赋值
(1)如何赋值?
赋值
规范的赋值符号<-
这里的x,被称为“变量”或“对象”。
(2)赋值符号
赋值时,=可以无条件替代<-
<- 不可以无条件替代=,因为=不止有赋值的作用
例如:
此时,<-不可以替代=
产生一个变量,数据4的名称是from,此时会出现
Environment
(3)赋值和输出一起执行
赋值和输出一起执行
2. 计算
计算
3. 判断
逐个判断
生成的逻辑值向量的元素的个数 和 x的元素的个数是一致的
4. 初级统计
初级统计
(三)对两个向量的操作
1. 逻辑比较,生成等长的逻辑向量
逐个比较
%in%
%in% 只关注有没有,不关注位置
2. 数学计算
1对1计算
3. 连接
1对1连接
paste之间需要分隔符,paste0之间没有分隔符
重点:x == y 和 x %in% y 的区别
区别
重点:如果x和y的长度不相等
短的向量循环,以补齐长的向量。与x、y的顺序无关,与长短有关
利用循环补齐简化代码
4. 集合操作
集合操作
(四)向量的筛选(取子集)
例:
向量筛选(取子集)[ ]
(1)根据逻辑值选取:将TRUE对应的值挑选出来,FALSE丢弃
用[ ]选取TRUE对应的值
用[ ]选取TRUE对应的值
用[ ]选取TRUE对应的值
(2)根据位置取子集
根据位置取子集
(五)修改向量中的某个/某些元素
修改某个元素
修改多个元素
注意:所有的修改,都需要赋值!
(六)简单向量作图
k1
k1对应的图:横坐标默认生成
k2
k1 ~ k2:箱线图
k3
k1是横坐标,k3是纵坐标
练习2-4:向量取子集
1. 将基因名"ACTR3B","ANLN","BAG1","BCL2","BIRC5","RAB","ABCT","ANLN","BAD","BCF","BARC7","BALV"组成一个向量,赋值给x。
2. 用函数计算向量长度
3. 用向量取子集的方法,选出第1,3,5,7,9,11个基因名
4. 用向量取子集的方法,选出除倒数第2个以外所有的基因名
5. 用向量取子集的方法,选出在c("ANLN", "BCL2","TP53")中有的基因名
6. 修改第6个基因名为"a"并查看是否成功
7. 生成10个随机数,用向量取子集的方法,筛出其中小于-2的值
(五)如何调整元素的顺序?
match
(六)进阶问题
1. 如何将两个向量合到一起,组成一个长向量?
合成长向量
2. 两个不同类型的向量合并在一起。
数字型和逻辑型
数字型和字符型
逻辑型和字符型
三种类型
3. 如何在向量首/尾/中间某位置增加一个元素?
n:插入的位置,m:插入的内容