[英]Is there a better method of splitting character strings with different lengths and patterns in r?
[英]Splitting strings with different lengths
我有一個數據集,其中包含國會議員姓名,后跟他們的 state 和區號。 理想情況下,我想將字符串拆分為包含代表名稱、state 和區號的新列。 我可以成功拆分一個,但由於字符串的長度不同,它不會匹配其他字符串。 下面是一個可重現的樣本。
current_data <- tibble(
names = c("Ralph Abraham La. 5", "Robert B. Aderholt Ala. 4", "Rick W. Allen Ga. 12", "Mark Amodei Nev. 2",
"Kelly Armstrong N.D. 0", "Jodey Arrington Tex. 19"),
party = c("R", "R", "R","R", "R", "R"),
vote = c("N","N","N","N","N","N"))
這是我希望它看起來像的示例。
desired_data <- tibble(
names = c("Ralph Abraham", "Robert B. Aderholt", "Rick W. Allen", "Mark Amodei",
"Kelly Armstrong", "Jodey Arrington"),
state = c("La.", "Ala.", "Ga.", "Nev.", "N.D.", "Tex."),
district_num = c(5,4,12,2,0,19),
party = c("R", "R", "R","R", "R", "R"),
vote = c("N","N","N","N","N","N"))
希望大家能幫幫我。 謝謝!
current_data%>%
separate(names,c("names","state","district"),"\\s(?=\\S+\\s+\\d)|\\s+(?=\\d)")
# A tibble: 6 x 5
names state district party vote
<chr> <chr> <chr> <chr> <chr>
1 Ralph Abraham La. 5 R N
2 Robert B. Aderholt Ala. 4 R N
3 Rick W. Allen Ga. 12 R N
4 Mark Amodei Nev. 2 R N
5 Kelly Armstrong N.D. 0 R N
6 Jodey Arrington Tex. 19 R N
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.