r dplyr文本挖掘eval(rhs,env,env)中的错误:找不到对象“得分”

时间:2018-11-06 05:03:31

标签: r function dplyr text-mining

我目前正在研究R项目,正在定义一个函数,该函数将在特定数据集上执行文本挖掘。

通常的想法是拥有一个功能,该功能可以对所挖掘文本的数量进行计数,并将该数量与每个文本的分数相乘。

到目前为止,我已经使用定义了函数:

function_a <- function(data, dict) {
  data %>% inner_join(dict) %>% count(word) %>% n*score
}

我试图通过将单词出现的数量乘以其权重来计算分数,但出现错误:

Error in eval(rhs, env, env) : object 'score' not found

这是否意味着我必须将score定义为函数变量?因为它是字典中的一列。

非常感谢您对此问题的帮助和见解。谢谢!


1 个答案:

答案 0 :(得分:1)

您只能在scoredplyr等函数中引用诸如select的列变量,例如inner_join。您试图在score函数外部引用dplyr,所以R正在寻找一个名为score的变量,但找不到它。解决方案是在dplyr函数中使用score

这是通过word分组并使用summarise来获得字数来获得结果的另一种方法:

 function_a <- function(data, dict) {
   data %>% inner_join(dict) %>% group_by(word) %>% summarise(WeightedCount = n()*score[1])
 }