数据类型和向量
1.1逻辑型数据
代码语言:{r}复制# 比较运算:返回的结果是逻辑值 >, <, <=, >=, ==, !=
3==5
代码语言:{r}复制3!=4
代码语言:{r}复制#逻辑运算 多个逻辑条件连接 与&,或|,非!
3<5&4>5
代码语言:{r}复制3<5|4>5
代码语言:{r}复制!(4>5)
1.2数据类型的转换与判断
代码语言:{r}复制# class()
# is.numeric()
# is.logical()
# is.character()
# as.numeric()
# as.logical()
# as.character()
2.1 向量的生成
代码语言:{r}复制# class()
c(2,5,6,2,9)
代码语言:{r}复制c("a","f","md","b")
代码语言:{r}复制# 冒号':'生成连续数字
1:5
代码语言:{r}复制# 重复用rep()
rep("x",times=3)
代码语言:{r}复制rep(c("a","b"),times=3)
代码语言:{r}复制rep(c("a","b"),times=c(2,5))
代码语言:{r}复制rep(c("a","b"),each=3)
代码语言:{r}复制# 有规律的序列用seq()
seq(from=3,to=21,by=3)
代码语言:{r}复制# 随机数用rnorm()
rnorm(n=3)
代码语言:{r}复制# 通过组合,产生更为复杂的向量
paste0(rep("x",times=3),1:3)
代码语言:{r}复制paste0("x", 1:3)
2.2对单个向量进行操作
代码语言:{r}复制#赋值
x<-c(1,3,4);x
代码语言:{r}复制# 简单数学运算
sqrt(x)
代码语言:{r}复制x 1
代码语言:{r}复制# 比较运算,生成逻辑值向量
x>3
代码语言:{r}复制x==3
代码语言:{r}复制# 初级统计
max(x);min(x);mean(x); median(x);var(x);sd(x);sum(x)
代码语言:{r}复制length(x) #长度
代码语言:{r}复制unique(x) #去重
代码语言:{r}复制duplicated(x) #判断重复否
代码语言:{r}复制table(x) #重复值统计
代码语言:{r}复制sort(x,decreasing=T) # 排序
2.3对两个向量的操作
代码语言:{r}复制x=c(1,3,5,1)
y=c(3,2,5,6)
# 等位运算(两个向量,元素与元素之间一对一的计算)
##(1)比较运算,胜场等长的逻辑向量
x==y; y==x #两者相同
代码语言:{r}复制##(2)数学计算
x y
代码语言:{r}复制## (3)连接
paste0(x,y)
代码语言:{r}复制## 循环补齐:等位运算且两个向量长度不相等时
paste0("student",seq(2,15,2))
代码语言:{r}复制## (4) 交集,并集,差集
intersect(x,y);union(x,y);setdiff(x,y);setdiff(y,x)
代码语言:{r}复制## (5) %in%
x %in% y # x的每个元素在y中是否存在,返回逻辑值
2.4 向量筛选取子集
代码语言:{r}复制# 按照逻辑值:中括号里是与x等长且一一对应的逻辑值向量,挑选TRUE对应的值,丢弃FALSE对应的值
x<-8:12
x[x==10];x[x<12]
代码语言:{r}复制# 按照位置:中括号里是由x的下标组成的向量
x[4];x[2:4];x[c(1,5)]
代码语言:{r}复制x[-4]
知识产权:自生信技能树