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

R 分隔一列会产生两个新的空列,r,dplyr,R,Dplyr,我有一列名称,格式为“FIRST.LAST”,我正试图将其分为两个新列 my_df <- my_df %>% separate(name, c("first_name", "last_name"), sep = '.') my_df%分开(姓名,c(“名字”,“姓氏”),sep=”) 创建了两个新列,但它们为空。关于为什么会这样的建议?我们可以避开,因为是一个元字符,它意味着任何字符而不是文字点,并且sep参数使用regex,它可能会被误认为是任何字符。根据?分开 sep-If字

我有一列名称,格式为“FIRST.LAST”,我正试图将其分为两个新列

my_df <- my_df %>% separate(name, c("first_name", "last_name"), sep = '.')
my_df%分开(姓名,c(“名字”,“姓氏”),sep=”)

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

我们可以避开
,因为
是一个元字符,它意味着任何字符而不是文字点,并且
sep
参数使用regex,它可能会被误认为是任何字符。根据
?分开

sep-If字符被解释为正则表达式。这个 默认值是匹配任意序列的正则表达式 非字母数字值

因此,我们可以使用
\\

my_df %>% 
   separate(name, c("first_name", "last_name"), sep = '\\.')
或者将其放在方括号内,作为文字点进行计算

my_df %>% 
   separate(name, c("first_name", "last_name"), sep = '[.]')
数据
my_df我们可以对
进行转义,因为
是一个元字符,它表示任何字符而不是文字点,并且
sep
参数使用regex,它可能会误认为它是任何字符。根据
?分开

sep-If字符被解释为正则表达式。这个 默认值是匹配任意序列的正则表达式 非字母数字值

因此,我们可以使用
\\

my_df %>% 
   separate(name, c("first_name", "last_name"), sep = '\\.')
或者将其放在方括号内,作为文字点进行计算

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