У меня есть один набор данных, состоящий из названий марок автомобилей с другими данными ( test1 ) и вектора всех уникальных сокращенных названий марок автомобилей ( test ).
test<-c("Rolls Royce", "Toyota", "Tesla", "BMW","Ford", "Mercedes")
test1<- data.frame(Brand = c("Mercedes Benz", "Bayerische Motoren Werke (BMW)",
"Ford Motor Corp.", "Rolls Royce",
"Tesla", "Mercedes Benz", "Ford Motor"),
Ratings = c(6,6,4,9,8,8,6))
Как сделать частичное совпадение строки с набором данных ( test1 ), используя вектор строки уникальных имен автомобилей ( test ) и изменить марку значения test1 для поиска и сопоставления значений test ?
Я могу сделать это для каждой записи, хотя я хотел бы посмотреть, есть ли более быстрый способ получить результат:
library(data.table)
test1[test1$Brand %like% "Rolls Royce", ]$Brand <-"Rolls Royce"
test1[test1$Brand %like% "Toyota", ]$Brand <-"Toyota"
test1[test1$Brand %like% "Tesla", ]$Brand <-"Tesla"
test1[test1$Brand %like% "BMW", ]$Brand <-"BMW"
test1[test1$Brand %like% "Ford", ]$Brand <-"Ford"
test1[test1$Brand %like% "Mercedes", ]$Brand <-"Mercedes"
Это результат, который я хотел бы получить для приведенного выше примера:
data.frame(Brand = c("Mercedes", "BMW",
"Ford", "Rolls Royce",
"Tesla", "Mercedes", "Ford"),
Ratings = c(6,6,4,9,8,8,6))