如何根据刮取结果中的符号将R中的一列一分为二?

如何根据刮取结果中的符号将R中的一列一分为二?,r,dataframe,split,R,Dataframe,Split,因此,我使用rvest抓取了IMDB网站,并遇到了一些拆分问题。我尝试了不同的方法来拆分列,但都失败了 这是我从IMDB网站上抓取信息的代码: 投票总数%html\u节点(“.sort-num\u投票可见”)%>%html\u文本() 然后,我使用以下代码进行清理和拆分: votes_gross <- gsub("\r?\n|\r", " ", votes_gross) votes_gross <- data.frame(votes_gross) library(tidyr) vot

因此,我使用
rvest
抓取了IMDB网站,并遇到了一些拆分问题。我尝试了不同的方法来拆分列,但都失败了

这是我从IMDB网站上抓取信息的代码:

投票总数%html\u节点(“.sort-num\u投票可见”)%>%html\u文本()

然后,我使用以下代码进行清理和拆分:

votes_gross <- gsub("\r?\n|\r", " ", votes_gross)
votes_gross <- data.frame(votes_gross)
library(tidyr)
votes_gross <- separate(votes_gross,
       col = "votes_gross",
       into = c("Votes", "Gross"),
       sep = "|")
其中:

    Votes         Gross (Millions)
Votes: 489,547    Gross: $700.06
Votes: 615,401    Gross: $678.82
Votes: 192,034    Gross: $608.58

谢谢

根据
?分开

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

因此,如果我们需要逐字计算,请将它放在方括号内(
[|]
或escape
\\\\\
),否则它将被视为

library(tidyverse)
votes_gross <- separate(votes_gross,
   col = "votes_gross",
   into = c("Votes", "Gross"),
   sep = "\\s*[|]\\s*")
库(tidyverse)

我明白了,它工作得很好。谢谢你提到它,我忘了它是一个正则表达式。
library(tidyverse)
votes_gross <- separate(votes_gross,
   col = "votes_gross",
   into = c("Votes", "Gross"),
   sep = "\\s*[|]\\s*")