我有一个带文字的数据框
TERM
good morning
hello
morning good
you're welcome
hello
hi
我想过滤掉所有重复项,并且所有重复项都使用相同的单词,但顺序不同。所以我得到了:
TERM
good morning
hello
you're welcome
hi
我知道如何用stringdist获得两个单词的距离。
stringdist(stringOriginal,stringCompare,method=qgram)
但由于我有很长的数据帧,所以我不想遍历所有条目。
如何过滤掉类似的字词?
THX 约尔格
答案 0 :(得分:2)
将其分解为单词,对每个记录中的单词进行排序,并保留排序后的单词不重复的行。没有包使用。
subset(DF, !duplicated(lapply(strsplit(TERM, " "), sort)))
,并提供:
TERM
1 good morning
2 hello
4 you're welcome
6 hi
注意:可重复形式的输入是:
Lines <- "TERM
good morning
hello
morning good
you're welcome
hello
hi"
DF <- read.csv(text = Lines, as.is = TRUE, strip.white = TRUE)