前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言中的循环补齐

R语言中的循环补齐

原创
作者头像
小叮当aka
修改2023-03-17 22:39:03
1.5K0
修改2023-03-17 22:39:03
举报

title: "循环补齐"

output: html_document

date: "2023-03-08"


当我们对两个长度不一致的向量进行操作时,会发生什么呢?

代码语言:text
复制
x = c(1,3,5,6,2)
y = c(3,2,5)
x == y
代码语言:txt
复制
## [1] FALSE FALSE  TRUE FALSE  TRUE

虽然出现了提示Warning: longer object length is not a multiple of shorter object length,并没有发生报错。

从输出结果看,返回了和x长度相等的5个逻辑值,这实际上是发生了R语言中的循环补齐所导致的。下面让我们跟随一些简单的代码示例一起认识一下循环补齐!

1.循环补齐的概念:指的是当对长度不等的向量进行操作时,R语言会自动复制短向量的元素,补齐到和长向量相同的长度,以长向量的长度为准。(个人理解,仅供参考)

2.循环补齐的发生条件:当向量的长度不等,且进行等位运算时,R语言会自动发生循环补齐

(1)比较运算("==",">","<")

代码语言:text
复制
x = c(1,3,5,6,2)
y = c(3,2,5)
x == y
代码语言:txt
复制
## [1] FALSE FALSE  TRUE FALSE  TRUE
代码语言:text
复制
x > y
代码语言:txt
复制
## [1] FALSE  TRUE FALSE  TRUE FALSE
代码语言:text
复制
x < y
代码语言:txt
复制
## [1]  TRUE FALSE FALSE FALSE FALSE

(2)数学计算(+,-,*,/)

代码语言:text
复制
x + y
代码语言:txt
复制
## [1]  4  5 10  9  4
代码语言:text
复制
x - y
代码语言:txt
复制
## [1] -2  1  0  3  0
代码语言:text
复制
x * y
代码语言:txt
复制
## [1]  3  6 25 18  4
代码语言:text
复制
x / y
代码语言:txt
复制
## [1] 0.3333333 1.5000000 1.0000000 2.0000000 1.0000000

(3)连接(paste和paste0)

代码语言:text
复制
paste(x,y,sep = ",")
代码语言:txt
复制
## [1] "1,3" "3,2" "5,5" "6,3" "2,2"
代码语言:text
复制
paste0(x,y)
代码语言:txt
复制
## [1] "13" "32" "55" "63" "22"

3.循环补齐的应用:可以利用循环补齐来简化R语言的代码

例1

代码语言:text
复制
paste0(rep("x",3),1:3)
代码语言:txt
复制
## [1] "x1" "x2" "x3"
代码语言:text
复制
paste0("x",1:3)
代码语言:txt
复制
## [1] "x1" "x2" "x3"

两句代码输出了同样的结果,但第二句利用循环补齐有效简化了代码

例2

代码语言:text
复制
paste0(rep("student",times = 7),seq(from = 2, to = 15,by = 2))
代码语言:txt
复制
## [1] "student2"  "student4"  "student6"  "student8"  "student10"
## [6] "student12" "student14"
代码语言:text
复制
paste0("student",seq(2,15,2))
代码语言:txt
复制
## [1] "student2"  "student4"  "student6"  "student8"  "student10"
## [6] "student12" "student14"

同样利用循环补齐达到了简化代码的目的

引用自生信技能树

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 当我们对两个长度不一致的向量进行操作时,会发生什么呢?
    • 虽然出现了提示Warning: longer object length is not a multiple of shorter object length,并没有发生报错。
    • 从输出结果看,返回了和x长度相等的5个逻辑值,这实际上是发生了R语言中的循环补齐所导致的。下面让我们跟随一些简单的代码示例一起认识一下循环补齐!
    • 1.循环补齐的概念:指的是当对长度不等的向量进行操作时,R语言会自动复制短向量的元素,补齐到和长向量相同的长度,以长向量的长度为准。(个人理解,仅供参考)
    • 2.循环补齐的发生条件:当向量的长度不等,且进行等位运算时,R语言会自动发生循环补齐
      • (1)比较运算("==",">","<")
        • (2)数学计算(+,-,*,/)
          • (3)连接(paste和paste0)
          • 3.循环补齐的应用:可以利用循环补齐来简化R语言的代码
            • 例1
              • 两句代码输出了同样的结果,但第二句利用循环补齐有效简化了代码
            • 例2
              • 同样利用循环补齐达到了简化代码的目的
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档