我正在使用Vader软件包对R上的推文数据集进行分析,但遇到了问题。在正确计算了一些推文的分数之后,该操作将中断并检索此错误:
Error in if (min(names(dicCheck)) == names(dicCheck[grep(checkMe, dicCheck)])) { :
argument is of length zero
我不知道这是数据本身的问题还是功能的问题。
我正在使用此代码
for (i in 1:length(Data$tweet)){
get_vader(Data$tweet[i]) %>%
as.numeric(unlist(.)) %>%
.[length(.)-4] ->Data$score_vader[i]
}
如果有人可以帮助我,我将非常感激!
答案 0 :(得分:1)
最后,我设法通过tryCatch()
函数克服了错误。该问题是由于文本的性质所分析的功能。为了克服这个问题,我使用的代码是:
for (i in 1:length(Data$tweet)){
Loop_Error <- F
tryCatch({
get_vader(Data$tweet[i]) %>%
as.numeric(unlist(.)) %>%
.[length(.)-4] ->Data$score_vader[i]
}, error = function(e){
Loop_Error <<- T})
if (Loop_Error){
Data$score_vader[i] <- "Error"
}
}
答案 1 :(得分:0)
尽管我只是在推文向量上使用vader_df
函数,但我有相同的错误输出。我现在正在尝试运行更新后的代码,但是由于我对R还是比较陌生(并且循环仍然使我感到困惑),对于您的原始代码有什么问题以及如何解决,我希望您能提供帮助或进一步的解释此更新的代码解决了该问题。谢谢!
-克里斯