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

目录

连接数据库报错: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”)

转自:https://ask.hellobi.com/blog/cndt2016/5374?utm_source=tuicool&utm_medium=referral

posted @ 2017-05-29 00:45  payton数据之旅  阅读(4407)  评论(0)    收藏  举报