基于空间拆分R中的列

Mri*_*arg 2 split r tidyr

我有一个位置列,如下所示-

   Location 
   San Jose CA
   Santa Clara CA
Run Code Online (Sandbox Code Playgroud)

我想分成两列。我正在使用 tidyr 中的单独函数,但是将 sep 参数指定为“”给了我以下内容-

  City  State
  San   Jose
  Santa Clara
Run Code Online (Sandbox Code Playgroud)

如何仅根据第二个空格拆分列?

structure(list(Location = c("San Jose CA", "Santa Clara CA")),
          .Names = "Location", class = "data.frame", row.names = c(NA, -2L))
Run Code Online (Sandbox Code Playgroud)

Jas*_*lns 11

library(tidyr)

df <- data.frame(Location = c("San Jose CA", "Fremont CA", "Santa Clara CA"))
separate(df, Location, into = c("city", "state"), sep = " (?=[^ ]+$)")

#          city state
# 1    San Jose    CA
# 2     Fremont    CA
# 3 Santa Clara    CA
Run Code Online (Sandbox Code Playgroud)