1.向量生成
1.1c()
为向量生成的函数 e.pc("a","f","md","b")
1.2 生成连续数字用: e.pc(1:5)
1.3 生成重复序列: "e.prep("x",times = 3)
当times不确定时,用length()
确定
1.4 生成有规律序列: e.pseq(from = 3,to = 21,by = 3)
from,to,by 均可省略
1.5 生成符合正态分布的规律的随机数: e.prnorm(n = 3)
1.5 生成组合复杂向量可用paste0()
:
e.pra <- seq(from = 2,to = 15,by = 2)
paste0(rep("student",times = length(a)),a)
☆ paste()
与paste0()
的区别
paste函数:paste函数可以将多个字符串连接在一起,并且可以通过sep参数指定连接的分隔符。如果没有指定sep参数,那么默认的分隔符是一个空格。例如,paste("Hello", "World")的结果是"Hello World"。 2.paste0函数:paste0函数也可以将多个字符串连接在一起,但是它不使用任何分隔符,直接将字符串连接在一起。例如,paste0("Hello", "World")的结果是"HelloWorld"。 总结来说,paste和paste0的主要区别在于,paste在连接字符串时默认使用空格作为分隔符,而paste0则直接将字符串连接在一起,不使用任何分隔符。 解释说明来自chatGPT
2.向量赋值
方法1:x = c(1,3,5,1);x
随意写法,不推荐
方法2:x <- c(1,3,5,1);x
规范写法,Alt 减号
赋值 输出:(x <- c(1,3,5,1))
3.向量运算
3.1 单个向量的简单数学计算
e.p:x 1
,log(x)
,sqrt(x)
3.2 单个向量的初级统计
代码语言:javascript复制max(x)最大值
min(x)最小值
mean(x)均值
median(x)中位数
var(x) 方差
sd(x) 标准差
sum(x) 总和
3.3 单个向量的条件判断-生成逻辑型向量
e.p:x>3
,x==3
3.4 单个向量的操作
3.4.1 判断单个向量中元素个数 length(x)
3.4.2 判断单个向量对应元素是否重复 duplicated(x)
3.4.3 去除单个向量中重复元素 unique(x)
3.4.4 去除单个向量中重复值统计 table(x)
3.4.5 单个向量中元素排序 sort(x)
默认为升序
单个向量中元素排降序
sort(x,decreasing = T)
3.5 两个向量的操作
3.5.1 比较运算 x == y
生成等长逻辑向量
3.5.2 数学计算 x y
3.5.3 连接 paste(x,y,sep=",")
分隔符为","
以上均为等位运算,当两个向量长度不一致时会自动发生循环补齐
3.5.4 交集 intersect(x,y)
3.5.5 并集 union(x,y)
3.5.6 差集
代码语言:javascript复制setdiff(x,y) x里有,y里面没有
setdiff(y,x) y里有,x里面没有
3.5.7 %in% -非等位运算,不发生循环补齐
代码语言:javascript复制x %in% y #x的每个元素在y中存在吗—谁在前对谁负责
y %in% x #y的每个元素在x中存在吗
3.6 向量筛选(取子集)
3.6.1 根据逻辑值取子集
代码语言:javascript复制x[x == 10] #[]将TRUE对应的值挑选出来,FALSE丢弃,[]里是与x等长且一一对应的逻辑值向量
x[x < 12]
x[x %in% c(9,13)]
3.6.2 根据位置值取子集
代码语言:javascript复制x[4] #[]中为数字表示从向量位置取子集,[]中是由x的下标组成的向量
x[2:4]
x[c(1,5)]
x[-4]
x[-(2:4)]#"-"表示非该位置的意思
3.7 向量中元素的修改
3.7.1 改单个元素 x[4] <- 40;x
将向量中的第4位元素替换为40
3.7.2 改多个元素 x[c(1,5)] <- c(80,20);x
将向量中的第1位和第5位元素分别替换为80与20
所有内容均引用自生信技能树