gpt4 book ai didi

r - 与 R 的文本相关性

转载 作者:行者123 更新时间:2023-12-04 10:09:32 24 4
gpt4 key购买 nike

我正在使用一个 DF,其中包含多行文本 ID、文本语料库和所述语料库中的单词数。它看起来像这样:

    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_1Text_2有两个共同的词,而 Text_1Text_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_1Text_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

但我不知道如何将它系统地应用于所有行,然后显示我需要的矩阵。

任何帮助将不胜感激。

最佳答案

您可能正在寻找 vapply功能。考虑以下:

vapply(df$ID, 
function(x){
sapply(df$ID,
function(y){
x_split <- unlist(strsplit(df$Text[df$ID == x], split = " "))
y_split <- unlist(strsplit(df$Text[df$ID == y], split = " "))

return(length(intersect(x_split, y_split)))
})
},
integer(nrow(df)))
vapply function ("vector-apply") 在一系列输入中应用一个函数,并以其第三个参数的形式返回一个向量(在这种情况下,一个长度等于数据输入长度的整数。

关于r - 与 R 的文本相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61397473/

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