在控制面板中,以所有控制面板的格式查看,选择管理工具,并打开。
在管理工具中,可以看到有个数据源(ODBC),打开数据源。
在数据源管理面板中,选择添加,由于我这里已经添加了一个数据源,只是介绍一下操作。
根据自己的数据库,选择相应的驱动,比如我这里是MYSQL ODBC 5.3。点击完成,进行下一步的配置。
这里根据提示,填写相应的字段即可。最后点击OK,由于这里没有填写任何字段,所以OK按钮是灰色的。
打开R软件,数据源设置好了之后,还要加载RODBC包。如果没有安装,参考经验“R语言关于R包的管理:安装加载查看,移除,卸载”。回车之后没有错误提示便是成功了。
这是在Rstudio中显示的,之前自己处理的时候一直是在excel中处理完再用R来直接分析。
现在想问问R里有什么直接处理的好办法。
在R中,有三个函数工具可以解决条件异常处理(包括错误)问题:
try() 如果出现错误,使用该函数可以跳过错误继续执行程序。
tryCatch() 指定控制条件,进行异常捕捉,然后采用对应的函数处理异常和错误。
withCallingHandlers() 是tryCatch()的变体,只是运行的上下文条件不同,它使用的情况很少,但是非常有用。
可以。(一) 在R里下载“Rserve”包,并安装
安装好后,
运行如下命令启动“Rserver”
>library(Rserve)
>Rserve()
Starting Rserve...
"D:\PROGRA~1\R\R-30~1.1\library\Rserve\libs\i386\Rserve.exe"
>
(二) 建立java工程,导入必要的包,写出测试用例
目录结构如下(标红色的是需要的):
Test.java 内容
package com.rTest
import org.rosuda.REngine.REXP
import org.rosuda.REngine.Rserve.RConnection
public class Test {
public static void main(String[] args) {
try {
RConnection c = new RConnection()
REXP x = c.eval("R.version.string")
System.out.println(x.asString())
} catch (Exception e) {
e.printStackTrace()
}
}
}
运行即可
2.3 可能出现的错误
2.3.1 Connection refused: connect
org.rosuda.REngine.Rserve.RserveException: Cannot connect: Connection refused: connect
at org.rosuda.REngine.Rserve.RConnection.<init>(RConnection.java:88)
at org.rosuda.REngine.Rserve.RConnection.<init>(RConnection.java:60)
at org.rosuda.REngine.Rserve.RConnection.<init>(RConnection.java:44)
at com.rTest.Test.main(Test.java:9)
这是由于“Rserve” 服务器没有启动起来的原因,试试在R内运行如下语句
>library(Rserve)
>Rserve()