我目前正在使用 rcaller 进行基于 mysql 数据库的分析回归。现在我被困在如何将数据库表从 java 带到 R 上。这就是我尝试过的。
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
stmt = conn.createStatement();
String sql;
sql = "SELECT bf,ibt,rate FROM testing";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
float bf = rs.getFloat("bf");
}
RCaller caller = new RCaller();
RCode code = new RCode();
caller.setRscriptExecutable("C:/Program Files/R/R-2.15.0/bin/Rscript.exe");
code.clear();
caller.setRCode(code);
code.R_require("rpart");
code.addRCode("ad.apprentissage= rpart(rate~, data=rs,cp=0.1)");
code.addRCode("predArbreDecision=predict(ad.apprentissage,newdata=rs,type='class') ");
File file = code.startPlot();
code.addRCode("plot(ad.apprentissage)");
caller.runOnly();
ImageIcon ii = code.getPlot(file);
code.showPlot(file);
但是下面的这一行似乎不起作用:
code.addRCode("ad.apprentissage= rpart(rate~, data=rs,cp=0.1)");
我已经运行了这个程序,没有错误,但输出为空。