在R中的某个单词后创建新列

时间:2014-05-09 13:46:55

标签: regex r string-split

我有这样的数据列:

adrs <- data.frame(address=rbind(c("CONFIDENTIST s.r.o. Ul. pri,Panoráme 26 945 01   Komárno"),
                   c("PD Dobrá Niva, a.s. Námestie,SNP 217/2 962 61   Dobrá Niva")))

并且期望的结果是:

new <- data.frame(rbind(cbind("CONFIDENTIST s.r.o.","Ul. pri,Panoráme 26","945 01","Komárno"),
                  cbind("PD Dobrá Niva, a.s.","Námestie,SNP 217/2","962 61","Dobrá Niva")))
colnames(new) <- c("Name","Street","PSC","Town")  

更一般地说:如何在发生特定单词后拆分和创建新列,在此示例中:s.r.o.a.s之后。

1 个答案:

答案 0 :(得分:1)

现在,我可能会在s.r.o.a.s.

之后拆分
strsplit(gsub("(.*(?:s\\.r\\.o\\.|a\\.s\\.))\\s+(.*)","\\1;\\2",adrs$address),";")