# 准备工作
1. Rmarkdown中插入代码框————Ctrl Alt i
2. 将Rmd 转为 md 格式————knitr::knit()
# Day 1&2
## Part1: 基本了解
### 1.1 R与Rstudio
### 1.2 数据类型
1. 数据类型判断————class()
2. 比较运算
相等————==
不相等————!=
多个逻辑条件连接
与————&
或————|
非————!
3、数据类型的判断和转换
判断——is族函数(返回值为True或FALSE)
是否数值型数据————is.numeric()
是否逻辑数据————is.logical()
是否字符型数据————is.character()
转化——as族函数
转为数值型————as.numeric()
转为逻辑型————as.logical()
转为字符型————as.character()
【数据转换的优先顺序:逻辑转为数值或字符,数值转为字符】
## Part2:向量
### 2.1 向量的生成
1. 将向量逐一放在一起————c()
2. 连续的数字————:
3. 重复————rep("",times)
4. 有规律的序列————seq(from,to,by)
5. 随机数————rnorm()
6. 通过组合,产生更复杂的向量————paste0(a,b)【中间没空格】
### 2.2 对单个向量的操作(向量的组成部分是元素)
1. 赋值————=
2. 进行简单的数学计算——log()/sqrt()
3. 比较运算,生成逻辑值向量
4. 初级统计————max/min/mean
中位数————median
方差————var
标准差————sd
总和————sum
5.计算向量长度————length
去重复————unique
向量内元素是否有相同(输出逻辑值)————duplicated
重复值统计————table()
对向量或因子进行排序————sort
### 2.3 对两个向量的操作
1. 比较运算————==
2. 数学计算
3. 连接———— paste(a,b,sep="")
【当两个向量长度不一致时】————循环补齐
发生条件:1. 等位计算(两个向量,元素与元素之间一对一计算)
2. 两个向量长度不相等
4. 交集————intersect(x,y)
并集————union(x,y)
差集————setdiff(x,y)【前有后没有】
5. 前向量的每一个元素在后向量中都存在么———— x %in% y
【== 是对应位置相比较】
### 2.4 向量筛选,即取子集————[]
【先对向量进行逻辑值判断,再将TRUE对应的值挑选出来,FALSE丢弃】
两种方式
一、根据逻辑值————x[x的判断函数]
【中括号里是 与X等长,且意义对应的 逻辑值向量】
二、根据位置————x[X的下标]
【中括号里是 由X的下标=索引组成的向量】
【[]内得是向量,c(1,5)是向量,1,5不是向量】
### 2.5 修改向量中的某个/某些元素
【选出对应子集→进行赋值】
【R语言中的修改,都要赋值,没有赋值就没有发生过】
> 引用生信技能树--生信入门Day 1&2