r - 按顺序创建重复值序列?

标签 r repeat seq replicate

我需要一系列重复的数字,即1 1 ... 1 2 2 ... 2 3 3 ... 3等。我实现这一点的方式是:

  nyear <- 20
  names <- c(rep(1,nyear),rep(2,nyear),rep(3,nyear),rep(4,nyear),
             rep(5,nyear),rep(6,nyear),rep(7,nyear),rep(8,nyear))

它可以工作,但是很笨拙,并且显然不能很好地扩展。

如何按顺序重复 N 个整数 M 次?

  • 我尝试嵌套 seq()rep() 但这并没有完全达到我想要的效果。
  • 我显然可以编写一个 for 循环来执行此操作,但应该有一种内在的方法来执行此操作!

最佳答案

您错过了 rep()each= 参数:

R> n <- 3
R> rep(1:5, each=n)
 [1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5
R> 

所以你的例子可以用一个简单的方法来完成

R> rep(1:8, each=20)

关于r - 按顺序创建重复值序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6432067/

相关文章:

r - 在 R 中按日期子集

r - 将关系对转换为矩阵

list - 将项目添加到不可变的 Seq

clojure - 为什么Clojure集合不直接实现ISeq接口(interface)?

r - 为什么 mapply 不能按预期使用转换?

r - 将数据框分解成更小的数据框并保存

R 重复数据框元素

javascript - 如何将背景动画制作成循环(重复功能)

mysql - 如何在指定时间重复 MySQL 结果集中的一行?

r - 创建跨多个数量级的日志序列