今天学的内容好多啊感觉有很多记忆的东西。首先来两个我很容易忘的快捷键。 option+’—‘可以打出<-、command+‘enter’运行、tab 补全括号
逻辑性数据
== 判断是否相等
!= (英文状态的!) 判断是否不想等
或| 与& 非!
数据类型的判断与转换
is族函数 返回值是TRUE/FALSE 例:is.numeric()
as族函数 直接转换数据类型 例:
>as.numeric('4')
4
数据类型转换的优先顺序 数值和逻辑都变字符,逻辑也会变数值
向量的生成
有重复rep()
有规律的序列 seq()
随机数rnorm
> rep('gene',times=3)
[1] "gene" "gene" "gene"
> seq(from=1,to=28,by=5)
[1] 1 6 11 16 21 26
> rnorm(n=5)
[1] 1.4985251 1.4585083 -0.2545511 1.0786589 0.8601176
> paste0(rep('gene',times=3),1:3)
[1] "gene1" "gene2" "gene3"
对单个变量进行的操作
1.赋值给一个变量名x<-
2.简单数字计算
3.根据某条件进行判断,生成逻辑值向量
> x <- c(1,2,3,4,5)
> x>3
[1] FALSE FALSE FALSE TRUE TRUE
4.初级统计
max(x) min(x) mean(x) median(x)
var(x)方差 sd(x)标准差
length(),向量的长度,即向量里元素的个数
unique(),去重复
duplicated(), 返回结果是逻辑值,向量里的每个元素是否有重复的
table() 重复值统计
sort() 排序 默认是从小到大
sort(x, decreasing=T) 从大到小
> x <- c(1,2,3,4,5)
> x>3
[1] FALSE FALSE FALSE TRUE TRUE
> x <- c(1,2,3,1)
> length(x)
[1] 4
> unique(x)
[1] 1 2 3
> duplicated(x)
[1] FALSE FALSE FALSE TRUE
> table(x)
x
1 2 3
2 1 1
>sort(x,decreasing = T)
[1] 3 2 1 1
对两个向量的操作
1.逻辑比较,生成等长的逻辑向量。
x==y x和对应位置的y相等吗?
x%in%y x的每个元素在y中存在吗?
2.连接
paste0函数
3.交集、并集、差集
setdiff(x,y) 在x中存在,但y中不存在的。
> x=c(1,3,5,1)
> y=c(3,2,5,6)
> x==y
[1] FALSE FALSE TRUE FALSE
> x%in%y
[1] FALSE TRUE TRUE FALSE
> paste(x,y,sep='and')
[1] "1and3" "3and2" "5and5" "1and6"
循环补齐
向量筛选(取子集)
1.根据逻辑值 [ ] 里是与x等长的逻辑值向量
2.根据位置 [ ] 里是由x下标组成的向量
修改向量中的某个或某些元素
直接赋值
> x <- 8:12;x
[1] 8 9 10 11 12
> x==10
[1] FALSE FALSE TRUE FALSE FALSE
> x[x==10]
[1] 10
> x[x==13]
integer(0)
> x[-(2:4)]
[1] 8 12
最后我总是忘记c(1:5)和c(1,5)是不一样的!!