我正在R中尝试从多个单词中找到西班牙语单词。我有一个我不知道该如何附加的excel中的所有西班牙语单词(超过80000个单词),并且我正在尝试检查其中是否有某些单词。
例如:
words = c("Silla", "Sillas", "Perro", "asdfg")
我尝试使用此solution:
grepl(paste(spanish_words, collapse = "|"), words)
但是西班牙语单词过多,给了我这个错误:
那...我能做得到吗?我也尝试过:
toupper(words) %in% toupper(spanish_words)
如您所见,使用此选项仅在完全匹配时给出TRUE,我需要“ Sillas”也显示为TRUE(这是silla的复数形式)。这就是我首先尝试使用grepl的原因,也是为了获得复数形式。
有什么主意吗?
答案 0 :(得分:1)
作为df:
df <- tibble(text = c("some words",
"more words",
"Perro",
"And asdfg",
"Comb perro and asdfg"))
向量词: 单词<-c(“ Silla”,“ Sillas”,“ Perro”,“ asdfg”) 单词<-tolower(paste(words,crash =“ |”))
然后使用mutate
和str_detect
:
df %>%
mutate(
text = tolower(text),
spanish_word = str_detect(text, words)
)
返回:
text spanish_word
<chr> <lgl>
1 some words FALSE
2 more words FALSE
3 perro TRUE
4 and asdfg TRUE
5 comb perro and asdfg TRUE