粗略地总结今日所学的内容,以后再细化;感谢生信技能团队;
一:向量
向量类型:字符串型("")>数据型(数字本身)>逻辑型(TRUE、FALSE),中间感觉是等级关系,在向量合并时,会归为左边那类;
赋值:c()
向量之间直接计算,比如:c()+1,是对于所有值+1;
冒号:1:15指1至15数字
重复序列:rep("gene",time=15),"gene"字符串重复15次;
有序数列:有规律,seq(from=2,to=15,by=3); 2,5,8,11,14;输出等差数列
随机数字:rnorm(n = 5, mean = 3, sd = 5)
向量组合:paste0(rep("gene",times=15),1:15);;;;“gene1"一直到”gene15"
paste(x,y,seq=":"),用冒号连接x\y
向量判断:==是否等于;!= 不等;x %in% y x在y中么,输出的数目等于x的数目;
交集、并集、差集:intersect(x,y);union(x,y);setdiff(x,y)
部分函数:min\max\range\mean\median\var\sd\sum\
which.max(x) #最大值下标;;which.min(x) #最小值下标
length长度;unique去重复;table重复值统计
向量筛选:[ ],对于普通向量,可用逻辑值,用位置,用字符串来表示,对于二维的后面,相当于坐标图
练习题完成:
# 1.两个不同类型的向量合并在一起会怎么样?
c(TRUE)+c(1)
# 2.如何将两个向量合到一起,组成一个长向量?
a <- c(2,3,4,5)
b <- c(3,5,7)
d <- c(a,b);d
# 3.如何在向量首/尾/中间某位置增加一个元素?
#首/尾
f <- c(2,a);f
#中间第2位
g <- c(a[1],3,a[2:length(a)]);g
# 4.如果向量x和y内容一致但顺序不一致,如何按照x的顺序排列y?
x=letters[1:5];x
y=letters[c(3,1,2,5,4)];y
match(x,y)
## [1] 2 3 1 5 4
y[match(x,y)]
## [1] "a" "b" "c" "d" "e"
最后一题用了match函数,要探索一下