gpt4 book ai didi

r - 检查数据框中的单词

转载 作者:行者123 更新时间:2023-12-01 13:19:46 25 4
gpt4 key购买 nike

我有两个数据框 A 和 B。我想检查数据框 B 中是否存在数据框 A 的唯一单词。如果存在,则保留该单词,否则从数据框 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 = " ")
}
))

我已经解决了。只是想知道是否有一种有效的方法来做到这一点,因为我的真实数据集中有超过 15K 行。

最佳答案

我们可以使用“k”从“B”中提取唯一的单词,然后将这些元素粘贴在一起,而不是多次循环

library(stringr)
unlist(lapply(str_extract_all(B$name, paste(k, collapse="|")),
paste, collapse=' '))

关于r - 检查数据框中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50667534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com