eval(rhs, env, env) 中的 r dplyr 文本挖掘错误:找不到对象 'score'
r dplyr text mining Error in eval(rhs, env, env) : object 'score' not found
我目前正在做一个 R 项目,我正在定义一个函数来对特定数据集执行文本挖掘。
一般的想法是有一个函数来计算挖掘的文本的数量,并将该数字乘以每个文本的分数。
到目前为止,我已经定义了函数:
function_a <- function(data, dict) {
data %>% inner_join(dict) %>% count(word) %>% n*score
}
我试图通过将单词出现的次数与其权重相乘来计算分数,但出现错误:
Error in eval(rhs, env, env) : object 'score' not found
这是否意味着我必须将分数定义为函数变量?因为它是字典中的一列。
非常感谢对此问题的任何帮助和见解。谢谢!
您只能在 dplyr
函数(例如 select
、inner_join
等)中引用 score
等列变量。您试图在 dplyr
函数之外引用 score
,因此 R 正在寻找一个名为 score
的变量,但找不到它。解决方案是在 dplyr 函数中使用 score
。
这是另一种方法,可以通过按 word
分组并使用 summarise
来计算字数:
function_a <- function(data, dict) {
data %>% inner_join(dict) %>% group_by(word) %>% summarise(WeightedCount = n()*score[1])
}
我目前正在做一个 R 项目,我正在定义一个函数来对特定数据集执行文本挖掘。
一般的想法是有一个函数来计算挖掘的文本的数量,并将该数字乘以每个文本的分数。
到目前为止,我已经定义了函数:
function_a <- function(data, dict) {
data %>% inner_join(dict) %>% count(word) %>% n*score
}
我试图通过将单词出现的次数与其权重相乘来计算分数,但出现错误:
Error in eval(rhs, env, env) : object 'score' not found
这是否意味着我必须将分数定义为函数变量?因为它是字典中的一列。
非常感谢对此问题的任何帮助和见解。谢谢!
您只能在 dplyr
函数(例如 select
、inner_join
等)中引用 score
等列变量。您试图在 dplyr
函数之外引用 score
,因此 R 正在寻找一个名为 score
的变量,但找不到它。解决方案是在 dplyr 函数中使用 score
。
这是另一种方法,可以通过按 word
分组并使用 summarise
来计算字数:
function_a <- function(data, dict) {
data %>% inner_join(dict) %>% group_by(word) %>% summarise(WeightedCount = n()*score[1])
}