【问题标题】:Is there a way to tell a replicate function how long to make the string?有没有办法告诉复制函数制作字符串多长时间?
【发布时间】:2021-05-25 21:18:59
【问题描述】:

我正在使用 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 接受除数据行数之外的其他值 - 有没有办法同时输入字符串长度?

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

【问题讨论】:

    标签: r dplyr replicate


    【解决方案1】:

    这是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))
    

    【讨论】:

    • 不错的答案!我总是忘记strrep。赞成你的答案!
    • 感谢@ThomasIsCoding - 巧合的是最近不得不做类似的事情。非常有用的功能!
    • 谢谢!实现梦想:-)
    猜你喜欢
    • 2021-08-26
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多