【问题标题】:multiple separate arguments in 'tidyr's separate function'tidyr 的单独函数中有多个单独的参数
【发布时间】:2017-08-25 03:11:37
【问题描述】:

我有一个关于将一列分成多列的问题。

我要分离的字符串示例类似于“87 BestMovie.GOOD” 单独的位置是空格' ''.'

我试过这样

df=data.frame(Eastwood=c('87 BestMovie.GOOD'))
sep=df%>%
separate(Eastwood,into=c('age','Select','Movie'),sep=c(' ','.'))

警告信息: 1:1 个位置的值太多:2 2:1 个位置的值太少:1

或者换个角度,我们可以实现字符串位置的分离吗?

谢谢!

【问题讨论】:

    标签: r dplyr tidyr


    【解决方案1】:

    "sep" 必须是表示正则表达式的单个字符值。这样做:

    df %>% separate(Eastwood,into=c('age','Select','Movie'),sep=" |\\\\.")
    

    【讨论】:

    • 非常感谢!
    • 使用字符类\\s而不是" "可能会更好。
    • @JakeKaupp '\\' 到底是什么意思?
    • \s 是空格的正则表达式字符类,\. 是句点或点。在 r 中,这些必须用另一个黑斜线转义,所以它最终是 \\s
    猜你喜欢
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 2014-11-06
    • 2018-07-09
    • 2017-04-08
    • 2017-02-16
    • 2021-10-06
    • 1970-01-01
    相关资源
    最近更新 更多