我有一个客户列表的数据集。类型因子的第一列(Kunden.Nr..Kurzname)在实际客户名称之前始终有一个数字(范围从1到4位数),我想删除。目前数据集如下所示:
Kunden.Nr..Kurzname Name..Vorname Adresse Postfach PLZ
1 1529 33ER TAXI AG 33er Taxi AG Jägerstrasse 5 <NA> 4016
2 2384 4EYES GMBH 4eyes GmbH Grubenweg 25 <NA> 4153
3 1548 A. SCHULMANN AG A. Schulmann AG Kernstrasse 10 <NA> 8004
4 3427 AAA DENT AG AAA Dent AG Die Zahnärzte.ch Centralbahnstrasse 20 4051
5 555 AARE SEELAND MOB Aare Seeland mobil AG Hauptstrasse 93 <NA> 2560
6 856 AASTRA TELECOM S Aastra Telecom Schweiz AG Schulhausgasse 24 <NA> 3113
我想这样:
Kunden.Nr..Kurzname Name..Vorname Adresse Postfach PLZ
1 33ER TAXI AG 33er Taxi AG Jägerstrasse 5 <NA> 4016
2 4EYES GMBH 4eyes GmbH Grubenweg 25 <NA> 4153
3 A. SCHULMANN AG A. Schulmann AG Kernstrasse 10 <NA> 8004
4 AAA DENT AG AAA Dent AG Die Zahnärzte.ch Centralbahnstrasse 20 4051
5 AARE SEELAND MOB Aare Seeland mobil AG Hauptstrasse 93 <NA> 2560
6 AASTRA TELECOM S Aastra Telecom Schweiz AG Schulhausgasse 24 <NA> 3113
基本上,我需要删除所有内容,包括第一个空格。弄清楚我可能不得不使用“gsub”,但遗憾的是我很久没有使用过R了。非常感谢帮助。
答案 0 :(得分:1)
我想建议使用群组:
gsub("^(\\d+)([[:space:]])(.+)$","\\3",x)
例如:
> x <- c("1529 33ER TAXI AG", "2384 4EYES GMBH")
> gsub("^(\\d+)([[:space:]])(.+)$","\\3",x)
[1] "33ER TAXI AG" "4EYES GMBH"
由 regex101.com提供。
答案 1 :(得分:0)
之前的所有答案都有点过载。这是一个建议,有点直截了当,并且像你一样问过。
DF <- #your data.frame
FindFirstSpace <- regexpr(" ", DF$Kunden.Nr..Kurzname, fixed = TRUE)
DF$Kunden.Nr..Kurzname <- substr(DF$Kunden.Nr..Kurzname, FindFirstSpace + 1, 1000)
regexpr
返回&#34;的第一个实例&#34;从你的角色矢量。请注意regexpr
用于查找表达式&#34;喜欢&#34;你的模式。但fixed = TRUE
使搜索具体化。
然后从第一个空格后取出Substring。对于stop
值,您可以使用任何数字。
答案 2 :(得分:0)
您可以执行gsub("^[0-9]{1,4}\\s","",df$Kunden.Nr..Kurzname)