如何在 R 中拆分地址列



我在数据帧中有一个地址列,如下所示:

Address
101 Marietta Street NorthWest Atlanta GA 30303

现在我想把它分成 4 个差异列,比如

Address                          City        State     Zip
101 Marietta Street NorthWest    Atlanta     GA        30303

可以保证地址列中的最后一个值将是邮政编码,倒数第二个值将是州,倒数第三个值将是城市,其余将是地址。所以我在想,我可以用空格拆分地址列值并从后面提取值。

我该怎么做?

我们可以使用tidyr::extract在单独的列中获取最后 3 个单词,并将剩余文本作为Address

tidyr::extract(df, Address, c("Address", "City", "State", "Zip"), 
regex = "(.+) (\w+) (\w+) (\w+)")
#                        Address    City State   Zip
#1 101 Marietta Street NorthWest Atlanta    GA 30303

最新更新