本文整理汇总了Java中org.rosuda.REngine.REXP.asStrings方法的典型用法代码示例。如果您正苦于以下问题:Java REXP.asStrings方法的具体用法?Java REXP.asStrings怎么用?Java REXP.asStrings使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.rosuda.REngine.REXP
的用法示例。
在下文中一共展示了REXP.asStrings方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: listCommands
import org.rosuda.REngine.REXP; //导入方法依赖的package包/类
/**
* @return available R commands
*/
public String[] listCommands() {
silentlyEval(".keyWords <- function() {n <- length(search());result <- c();for (i in 1:n) {result <- c(result,ls(pos=i,all.names=TRUE))}; result}");
REXP rexp = silentlyEval(".keyWords()");
String as[] = null;
try {
if (rexp != null && (as = rexp.asStrings()) != null) {
return as;
} else {
return null;
}
} catch (REXPMismatchException ex) {
log(HEAD_ERROR + ex.getMessage() + "\n listCommands()",
Level.ERROR);
return null;
}
}
示例2: asStringMatrix
import org.rosuda.REngine.REXP; //导入方法依赖的package包/类
private String[][] asStringMatrix(final REXP rexp) throws REXPMismatchException {
final String[] ct = rexp.asStrings();
final REXP dim = rexp.getAttribute("dim");
if (dim == null) {
throw new REXPMismatchException(rexp, "matrix (dim attribute missing)");
}
final int[] ds = dim.asIntegers();
if (ds.length != 2) {
throw new REXPMismatchException(rexp, "matrix (wrong dimensionality)");
}
final int m = ds[0], n = ds[1];
final String[][] r = new String[m][n];
// R stores matrices as matrix(c(1,2,3,4),2,2) = col1:(1,2), col2:(3,4)
// we need to copy everything, since we create 2d array from 1d array
int k = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
r[j][i] = ct[k++];
}
}
return r;
}
示例3: getConfigureDbResultSlog
import org.rosuda.REngine.REXP; //导入方法依赖的package包/类
public String[][] getConfigureDbResultSlog() throws RserveException, REngineException, REXPMismatchException {
// Example screenlog: data.frame(Plate=c(1),Well=c("A02"),Sample=c(1),Flag=c("NA"),Channel=c(1),stringsAsFactors=FALSE)
RserveExtensions rserveExtensions = new RserveExtensions();
REXP rexpPlate = rserveExtensions.tryEval(rConnection, "screenLog <- [email protected]; resultContent <- screenLog$Plate");
REXP rexpWell = rserveExtensions.tryEval(rConnection, "resultContent <- screenLog$Well");
REXP rexpSample = rserveExtensions.tryEval(rConnection, "resultContent <- screenLog$Sample"); //Sample = Replicate
REXP rexpFlag = rserveExtensions.tryEval(rConnection, "resultContent <- screenLog$Flag");
REXP rexpChannel = rserveExtensions.tryEval(rConnection,"resultContent <- screenLog$Channel");
String [][] result =null;
if (!rexpPlate.isNull()) {
// all have the same length
result = new String[5][rexpPlate.asStrings().length];
result[0] = rexpPlate.asStrings();
result[1] = rexpWell.asStrings();
result[2] = rexpSample.asStrings();
result[3] = rexpFlag.asStrings();
result[4] = rexpChannel.asStrings();
}
return result;
}
示例4: getStringVector
import org.rosuda.REngine.REXP; //导入方法依赖的package包/类
@Override
public String[] getStringVector(final String variable) {
try {
final REXP rexp = engine.unwrap().eval(variable);
if (allIsNa(rexp)) {
return null;
} else {
return rexp.asStrings();
}
} catch (final REXPMismatchException e) {
throw new RuntimeException(e);
}
}
示例5: update
import org.rosuda.REngine.REXP; //导入方法依赖的package包/类
public void update() {
try {
if (R == null) {
ls = new String[0];
} else {
REXP rls = R.silentlyEval("ls()");
if (rls != null) {
ls = rls.asStrings();
} else {
ls = new String[0];
}
}
if (ls != null && ls.length > 0) {
for (String l : ls) {
try {
// System.err.println("print(" + l + ")"+" -> ");
String print = R.asHTML(l);// toHTML(R.silentlyEval("paste(capture.output(print("
// + l +
// ")),collapse='\\n')").asString());
// String print = Rsession.cat(R.silentlyEval("print(" +
// l + ")").asStrings());
// System.err.println(" "+print);
prints.put(l, print);
} catch (Exception re) {
prints.put(l, "?:" + re.getMessage());
}
}
}
EventQueue.invokeLater(new Runnable() {
public void run() {
_model.fireTableDataChanged();
}
});
} catch (REXPMismatchException ex) {
ex.printStackTrace();
}
}