问题描述
我正在使用 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 接受除数据行数以外的另一个值 - 有没有办法也输入字符串长度?
非常感谢任何帮助! :-)
解决方法
这是一个 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))