首页 > 解决方案 > 重复数值向量

问题描述

假设我有以下数值向量

z = 1:3
f <-c(rep(z[1],3),rep(z[2],3),rep(z[3],3))
[1] 1 1 1 2 2 2 3 3 3

现在假设以下情况:

z =1:i #i is an interger

如何编写一个函数,以便获得与第一行代码相同的输出格式?我尝试了一个 for 循环,但没有得到想要的结果。

标签: rfor-loopvectorrep

解决方案


尝试rep_each = 3

> rep(1:3, each = 3)
[1] 1 1 1 2 2 2 3 3 3

或者kronecker

> kronecker(1:3, rep(1, 3))
[1] 1 1 1 2 2 2 3 3 3

或者replicate

> c(t(replicate(3, 1:3)))
[1] 1 1 1 2 2 2 3 3 3

推荐阅读