У меня есть следующие данные:
temp<-c("AIR BAGS:FRONTAL" ,"SERVICE BRAKES HYDRAULIC:ANTILOCK",
"PARKING BRAKE:CONVENTIONAL",
"SEATS:FRONT ASSEMBLY:POWER ADJUST",
"POWER TRAIN:AUTOMATIC TRANSMISSION",
"SUSPENSION",
"ENGINE AND ENGINE COOLING:ENGINE",
"SERVICE BRAKES HYDRAULIC:ANTILOCK",
"SUSPENSION:FRONT",
"ENGINE AND ENGINE COOLING:ENGINE",
"VISIBILITY:WINDSHIELD WIPER/WASHER:LINKAGES")
Я хотел бы создать новый вектор, который сохраняет только текст перед первым ":" в случаях, когда присутствует ":", и все слово, когда ":" отсутствует.
Я пытался использовать:
temp=data.frame(matrix(unlist(str_split(temp,pattern=":",n=2)),
+ ncol=2, byrow=TRUE))
, но это не работает в случаях, когда нет ":"
Я знаю, что этот вопрос очень похож на: обрезать строку от определенного символа в R, который использовал:
sub("^[^.]*", "", x)
Но я не очень хорошо знаком с регулярными выражениями и изо всех сил пытался изменить этот пример, чтобы сохранить только начало строки.