我在数据帧中有一个地址列,如下所示:
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