내용

글번호 737
작성자 허진경
작성일 2017-08-09 17:12:30
제목 rniAssign 코드 예
내용 @Override public Map<String, Object> getSummary(int fileId) { Map<String, Object> rData = new Hashtable<String, Object>(); UploadFileVO file = fileService.getFile(fileId); byte[] data = file.getFileData(); long exp; try { exp = rEngine.rniPutString(new String(data, "UTF-8")); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } rEngine.rniAssign("data", exp, 0); rEngine.eval("Sys.setlocale(category=\"LC_ALL\", locale=\"English_United States.1252\")"); rEngine.eval("dataFrame <- read.table(text=data, sep=\",\", fill=TRUE, header=TRUE, stringsAsFactors=FALSE, skipNul=TRUE, encoding=\"UTF-8\", fileEncoding=\"UTF-8\")"); REXP summary = rEngine.eval("(dfSummary <- summary(dataFrame))"); rData.put("summary", summary.asStringArray()); REXP colNames = rEngine.eval("colnames(dfSummary)"); rData.put("colNames", colNames.asStringArray()); REXP nrow = rEngine.eval("nrow(dfSummary)"); rData.put("nrow", nrow.asInt()); return rData; }