r - 生成序列 111122222333334
问题描述
我想使用 rep() 或 seq() 函数(或任何其他函数)生成序列 111122222333334,而不使用 c()。我尝试了以下方法:
rep(1:4,rep(4:5,length=4))
但它并没有返回我想要的结果。任何帮助,将不胜感激。
解决方案
一个选项rep
是times
times - 一个整数值向量,如果长度为 length(x),则给出重复每个元素的(非负)次数,如果长度为 1,则重复整个向量。负值或 NA 值是错误的。接受双精度向量,其他输入被强制转换为整数或双精度向量。
rep(1:4, c(4, 5, 5, 1))
或使用seq
rep(1:4, rbind(seq(4, length.out=2, by = 1), seq(5, length.out = 2, by = -4)))
或者把它保存在一个list
和unlist
rep(1:4, unlist(list(seq(4, length.out=2, by = 1),
seq(5, length.out = 2, by = -4))))
或与Map
rep(1:4, unlist(Map(seq, 4:5, length.out = 2, by = list(1, -4))))
推荐阅读
- python - 创建一个遍历布尔值列表的循环 - Python
- spring - spring boot(web 和 web 服务)看到 405 错误
- html - 当块内容增加时如何修复页脚滚动?
- java - POI DataFormatter 默认向下舍入 5 而不是向上舍入
- class - Kivy 按钮按下到下一页
- asp.net - POST 获取空值
- amazon-web-services - 通过适用于 AWS 的 GO SDK 直接将内存缓冲区写入 S3 对象
- typescript - 如何使用 MS Graph API 将 OneNote 图像复制到另一个 OneNote 页面?
- html - 画布上的相对定位按钮会切断大部分画布
- sql - 如何选择特定日期是否早于 X 年?- 快速 SQL