前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Day02 生信马拉松-vector

Day02 生信马拉松-vector

原创
作者头像
大冬仔
修改2023-08-11 15:45:15
1800
修改2023-08-11 15:45:15
举报
文章被收录于专栏:生信学习Marathon

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

所有内容均引用自生信技能树

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 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)
                • 2.向量赋值
                • 3.向量运算
                  • 3.1 单个向量的简单数学计算
                    • 3.2 单个向量的初级统计
                      • 3.3 单个向量的条件判断-生成逻辑型向量
                        • 3.4 单个向量的操作
                          • 3.5 两个向量的操作
                            • 3.6 向量筛选(取子集)
                              • 3.7 向量中元素的修改
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档