Я работаю с DF, который содержит несколько строк с Text ID, Text Corpus и количеством слов в указанном корпусе. Это выглядит примерно так:
ID Text W_Count
Text_1 I love green apples 4
Text_2 I love yellow submarines 4
Text_3 Remember to buy some apples 5
Text_4 No match here 3
С этим DF я хочу вычислить количество слов, которые все строки имеют вместе друг с другом. Например, Text_1
и Text_2
имеют два общих слова, в то время как Text_1
и Text_3
имеют только одно.
Как только я получу это, мне нужно отобразить данные в матрице, подобной этой :
ID Text_1 Text_2 Text_3 Text_4
Text_1 4 2 1 0
Text_2 2 4 0 0
Text_3 1 0 5 0
Text_4 0 0 0 3
Мне удалось сделать это только с двумя строками, например Text_1
и Text_2
:
Text_1 = df[1, 2]
Text_2 = df[2, 2]
Text_1_split <- unlist(strsplit(Text_1, split =" "))
Text_2_split <- unlist(strsplit(Text_2, split =" "))
count = length(intersect(Text_1_split, Text_2_split))
count
[1] 2
Но я не знаю, как применить это систематически для всех строк, а затем отобразите нужную мне матрицу.
Любая помощь будет принята с благодарностью.