Friday, August 19, 2011
RCaller is now in ohloh.net
RCaller is now in ohloh.net as a project entry. The address is https://www.ohloh.net/p/rcaller . It would be a good meeting point of developers and users of RCaller.
Labels
rcaller
Friday, July 22, 2011
Random Number Generation with RCaller 2.0
Java has two standard libraries for generating random numbers. The java.lang.Math class has a random method with is used for generating uniform distributed random numbers. The second one is the java.util.Random class which has got several functions for generating random numbers. We can draw random numbers from several distribution using the probability integral transform. But R has many internal functions for random number generation from several probability distributions including the gamma, the binomial, the normal etc.
RCaller has a wrapper class, under the package statistics, for generating random number for those distributions. The class statistics. RandomNumberGenerator has these functions:
One can see the usage of class in the Test5 class in the source of RCaller 2.0.
http://code.google.com/p/rcaller/source/browse/RCaller/src/test/Test5.java
RCaller has a wrapper class, under the package statistics, for generating random number for those distributions. The class statistics. RandomNumberGenerator has these functions:
public double[] randomNormal(int n, double mean, double standardDeviation) public double[] randomLogNormal(int n, double logmean, double logStandardDeviation) public double[] randomUniform(int n, double min, double max) public double[] randomBeta(int n, double shape1, double shape2) public double[] randomCauchy(int n, double location, double scale) public double[] randomT(int n, int df) public double[] randomChisqyare(int n, int df) public double[] randomF(int n, int df1, int df2) public double[] randomPoisson(int n, double lambda) public double[] randomBinom(int n, int size, double p) public double[] randomNegativeBinom(int n, int size, double p) public double[] randomMultinomial(int n, int size, double p) public double[] randomGeometric(int n, double p) public double[] randomWeibull(int n, double shape, double scale) throws public double[] randomHyperGeometric(int amount, int n, int m, int k) public double[] randomExponential(int n, double theta) throws Exception public double[] randomGamma(int n, double shape, double rate, double scale)
One can see the usage of class in the Test5 class in the source of RCaller 2.0.
http://code.google.com/p/rcaller/source/browse/RCaller/src/test/Test5.java
Labels
calling r from java,
java,
r,
rcaller
Sunday, July 17, 2011
IP Subnet Calculator In debian.
I'm talking about console based application that able to ip subnets calculator. You have to use following command to install it;
How to use;
ipcalc [ip address] [mask]
You can use both format for mask part. like this:
example 1;
or
If you have a C class network address and you want to create 4 subNet, actually your mask is 24.
2 exp. 2 = 4
So 24-2 = 22 is your new subnet..
sudo apt-get install ipcalc
How to use;
ipcalc [ip address] [mask]
You can use both format for mask part. like this:
example 1;
|
or
|
If you have a C class network address and you want to create 4 subNet, actually your mask is 24.
2 exp. 2 = 4
So 24-2 = 22 is your new subnet..
|
About the licence of RCaller
The licence of RCaller 2.0 was changed to LGPL . That means you can use it in commercial projects without distributing the source code.
For our users who like RCaller...
For our users who like RCaller...
Tuesday, July 12, 2011
Debugging the R output of RCaller
RCaller 2.0 has been submitted to Google Code before two or three days. Many RCaller users are testing it and except a Windows installation it seems not to be so problematic.
RCaller 2.0 receives the R outputs as XML files. If the user does not know the returned variable names or if there was a problem with the results some debugging stuff is needed.
Now the function 'getXMLFileAsString()' is implemented in RCaller, by using it, the converted R output can be investigated.
Suppose that we want to run some R code from Java and we want to have a look at the returned XML content. Have a look at these codes:
package test;
import rcaller.RCaller;
/**
*
* @author Mehmet Hakan Satman
*/
public class Test4 {
public static void main (String[] args){
new Test4();
}
public Test4(){
try{
/*
* Creating an instance of RCaller
*/
RCaller caller = new RCaller();
/*
* Defining the Rscript executable
*/
caller.setRscriptExecutable("/usr/bin/Rscript");
/*
* Some R Stuff
*/
caller.addRCode("set.seed(123)");
caller.addRCode("x<-rnorm(10)");
caller.addRCode("y<-rnorm(10)");
caller.addRCode("ols<-lm(y~x)");
/*
* We want to handle the object 'ols'
*/
caller.runAndReturnResult("ols");
/*
* Getting R results as XML
* for debugging issues.
*/
System.out.println(caller.getParser().getXMLFileAsString());
}catch(Exception e){
System.out.println(e.toString());
}
}
}
Because of the "set.seed()" function of R, this code should produce the same results for all machines. The XML output is
This structure of this XML file is simple and one can see that each single variable is encapsulated within a "" and a " " tag.
Another way of handling the variable names is to use "ROutputParser.getNames()". This function simply returns an ArrayList which includes the variable names returned by R.
RCaller 2.0 receives the R outputs as XML files. If the user does not know the returned variable names or if there was a problem with the results some debugging stuff is needed.
Now the function 'getXMLFileAsString()' is implemented in RCaller, by using it, the converted R output can be investigated.
Suppose that we want to run some R code from Java and we want to have a look at the returned XML content. Have a look at these codes:
package test;
import rcaller.RCaller;
/**
*
* @author Mehmet Hakan Satman
*/
public class Test4 {
public static void main (String[] args){
new Test4();
}
public Test4(){
try{
/*
* Creating an instance of RCaller
*/
RCaller caller = new RCaller();
/*
* Defining the Rscript executable
*/
caller.setRscriptExecutable("/usr/bin/Rscript");
/*
* Some R Stuff
*/
caller.addRCode("set.seed(123)");
caller.addRCode("x<-rnorm(10)");
caller.addRCode("y<-rnorm(10)");
caller.addRCode("ols<-lm(y~x)");
/*
* We want to handle the object 'ols'
*/
caller.runAndReturnResult("ols");
/*
* Getting R results as XML
* for debugging issues.
*/
System.out.println(caller.getParser().getXMLFileAsString());
}catch(Exception e){
System.out.println(e.toString());
}
}
}
Because of the "set.seed()" function of R, this code should produce the same results for all machines. The XML output is
This structure of this XML file is simple and one can see that each single variable is encapsulated within a "
Another way of handling the variable names is to use "ROutputParser.getNames()". This function simply returns an ArrayList
Labels
calling r from java,
java,
r,
rcaller
Subscribe to:
Posts (Atom)