分隔列会产生两个新的空列

时间:2018-04-19 17:54:03

标签: r dplyr

我有一列名称,格式为" FIRST.LAST",我试图分成两个新列。

my_df <- my_df %>% separate(name, c("first_name", "last_name"), sep = '.')

创建了两个新列,但它们是空白的。建议为什么会这样?

1 个答案:

答案 0 :(得分:2)

我们可以转义.因为.是一个元字符,它暗示任何字符而不是字面点,并且sep参数占用正则表达式,它可能会误认为它是任何字符字符。根据{{​​1}}

  

sep - 如果是character,则被解释为正则表达式。该   默认值是一个匹配任何序列的正则表达式   非字母数字值。

因此,我们可以使用?separate

进行转义
\\

或者将其放在方括号内以评估为文字点

my_df %>% 
   separate(name, c("first_name", "last_name"), sep = '\\.')

数据

my_df %>% 
   separate(name, c("first_name", "last_name"), sep = '[.]')