首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >文本挖掘中出错:二元运算符的非数字参数

文本挖掘中出错:二元运算符的非数字参数
EN

Stack Overflow用户
提问于 2020-05-17 05:15:01
回答 1查看 39关注 0票数 0

下面的for循环给出了一个错误,显示为Error in nenv[i]/nref[i] : non-numeric argument to binary operator

代码语言:javascript
复制
library(tm)
library(stringr)
mydata = data.frame(id=c(1,2,3), 
          text=c("This is text mining exercise;Meta-analysis in envtal science",
                 "Text analysis is bit confusing;This is how the analysis works",
                 "Hint on this text analysis?;Highly appreciated!")) 
multiwords<-c("Text","analysis","bit confusing")
txt = frq = nenv = prnt = list() 
for(i in 1:length(mydata$id)){ 
    nref[i] = lengths(strsplit(as.character(mydata$text[i]),";"))
    txt[i] = str_extract_all(mydata$text[i],str_c(multiwords, collapse="|"))
    frq[i] = lapply(txt[i],table)
    nenv[i] = sum(unlist(frq[i]))
    prnt[i] = nenv[i]/nref[i]*100
}

非常感谢您的帮助。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-05-17 07:20:42

我猜问题在于nenv[i]nref[i]是列表的(元素)。您可以通过以下方式将它们转换为数字

代码语言:javascript
复制
prnt[i] = as.numeric(nenv[i])/as.numeric(nref[i])*100

这取决于您需要的类型。或者,您可以对它们执行unlist

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61843666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档