实用|R语言的常用报错及解决方法

浏览: 2997

目录

连接数据库报错:negative length vectors are not allowed

连接数据库报错:first argument is not an open RODBC channel

连接数据库报错:incorrect number of dimensions

RStudio一运行就重启:R Session AbortedError: argument is not interpretable as logical

RStudio无法调试,下断点无效!

编码错误:invalid multibyte character in parcer at line 10


连接数据库报错:negative length vectors are not allowed

代码截图:


报错截图:


解决方案:


链接:http://stackoverflow.com/questions/3407015/querying-oracle-db-from-revolution-r-using-rodbc


连接数据库报错:first argument is not an open RODBC channel

报错截图:



可能原因:数据库没有连接上。可以用PL/SQL执行一下SQL语句,看能否获取到数据库。如果不能拿到数据的话就可能是网络问题,或者没有连接到数据库。如果可以拿到数据的话就检查一下数据源,因为这里R是通过数据源RODBC连接数据库的。


连接数据库报错:incorrect number of dimensions

报错截图:



可能原因:从数据库拿数据的SQL语句可能错了,输出一下拿回来的数据,如果为空则是很可能就错在SQL上面。例如上图依据时间查找数据时,在where中插入时间限定的SQL语句错了。


RStudio一运行就重启:R Session Aborted

报错截图:


解决方案:升级一下Rcpp包就行了。


Error: argument is not interpretable as logical

报错截图:



可能原因:数据处理出了问题,没有对NA的值作特别处理。例如在一个判断语句中判断一个值是否为空,但它如果为NA(缺失值)的话将无法判断。
解决方法是在判断语句之前加一个判断它是否为NA,下面是一个例子:




RStudio无法调试,下断点无效!

可能原因:
1、RStudio版本需要在0.89.274以上才支持调试
2、使用shiny包的APP好像不支持断点调试,但我有时候又可以,郁闷。。以下是官方解释:



解决方案:可以在需要下断点的地方加上一句 “browser()”,功能和下断点类似。


编码错误:invalidmultibyte character in parcer at line 35

报错截图:


可能原因:可能是中文编码错误,这个是我用source(“DataProcessing.R”)的时候出现的错误。可以在source里面加上编码方式。
例如:source(“DataProcessing.R”, encoding = “utf-8”)


如果大家还有不懂的地方,欢迎直接评论给我们,我们会在第一时间帮助大家解决问题。

哦~工作时间是20:00-24:00



推荐 1
本文由 菜鸟数据岛 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册