我有这样的数据列:
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
之后。
答案 0 :(得分:1)
现在,我可能会在s.r.o.
或a.s.
strsplit(gsub("(.*(?:s\\.r\\.o\\.|a\\.s\\.))\\s+(.*)","\\1;\\2",adrs$address),";")