有没有办法告诉复制函数制作字符串多长时间?

Is there a way to tell a replicate function how long to make the string?

我正在使用 RStudio 并尝试计算一个新列,其中包含一组重复的字母,这些字母的值取自相应的列。

例如,我在下面的 ColA 中有数据,但想创建 ColB:

ColA <- c(1, 4, 6)

我希望ColB是这样的:

ColA ColB
1 p
4 pppp
6 pppppp

我一直在尝试使用复制,但我不知道如何使字符串的 frequency/length 等于相应 ColA 的值。

df %>% mutate(ColB = rep("p", length.out = df$ColA, nrow(df)))

我似乎无法让代表接受除数据行数以外的其他值 - 有没有办法同时输入字符串长度?

非常感谢任何帮助! :-)

这是一个base R解决方案:

df$ColB <- strrep("p", df$ColA)

  ColA   ColB
1    1      p
2    4   pppp
3    6 pppppp

您也可以将此与 dplyr 一起使用:

df %>% 
  mutate(ColB = strrep("p", ColA))