R:传播向量的有效方法

KLJ*_*KLJ 0 r function vector tidyverse

是否有一种有效的编程方法来解决以下任务?

想象一下以下向量:

A<-[a,b,c...k]
Run Code Online (Sandbox Code Playgroud)

并希望通过以下方式传播它:让我们从例如n = 2开始

B<-[a,a,b,b,c...,k,k]
Run Code Online (Sandbox Code Playgroud)

现在n = 4或任何数字大于1

C<-[a,a,a,a,b,...,k,k,k,k]
Run Code Online (Sandbox Code Playgroud)

通过循环来解决这个问题看起来很简单,但是我错过/可以使用任何基于函数或矢量的操作吗?Tidyverse解决方案(在管道中使用它)对我来说是最好的解决方案.

(很难对这项任务进行研究,因为我是R中的新手并且没有正确的搜索条件.任何帮助都会有所帮助.)

Mar*_*nes 5

A <- letters[1:11]
A
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k"
Run Code Online (Sandbox Code Playgroud)

如果你使用rep带参数的函数each,你得到你想要的:

rep(A, each=2)
 [1] "a" "a" "b" "b" "c" "c" "d" "d" "e" "e" "f" "f" "g" "g" "h" "h" "i" "i" "j"
[20] "j" "k" "k"

rep(A, each=3)
[1] "a" "a" "a" "b" "b" "b" "c" "c" "c" "d" "d" "d" "e" "e" "e" "f" "f" "f" "g"
[20] "g" "g" "h" "h" "h" "i" "i" "i" "j" "j" "j" "k" "k" "k"
Run Code Online (Sandbox Code Playgroud)