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

时间:2021-02-23 15:18:49

标签: r dplyr mutate replicate

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

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

ColA <- c(1, 4, 6)

我希望ColB是这样的:

<头>
ColA ColB
1 p
4 pppp
6 pppppp

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

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

我似乎无法让 rep 接受除数据行数以外的另一个值 - 有没有办法也输入字符串长度?

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

1 个答案:

答案 0 :(得分:3)

这是一个 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))
相关问题