У меня есть два кадра данных A и B. Я хочу проверить, существуют ли уникальные слова кадра данных A в кадре данных B. Если существует, сохраните это слово, в противном случае удалите слово из каждой строки кадра данных B.
A <- data.frame(name = c(
"X-ray right leg arteries",
"consultation of gynecologist",
"x-ray leg arteries",
"x-ray leg with 20km distance"
), stringsAsFactors = F)
B <- data.frame(name = c(
"X-ray left leg arteries",
"consultation (inspection) of gynecalogist",
"MRI right leg arteries",
"X-ray right leg arteries with special care"
), stringsAsFactors = F)
k=unique(unlist(strsplit(A$name, " ")))
d = do.call(rbind, lapply(B$name, function(z) {
xx = lapply(lapply(k, function(x) grepl(x, unlist(strsplit(z, " ")), fixed = T)), which)
paste(k[sapply(xx, function(x) length(x)>0)], collapse = " ")
}
))
Я уже решил это.Просто хотел узнать, есть ли эффективный способ сделать это, так как в моем реальном наборе данных более 15 тысяч строк.