Monday, August 22, 2011

Rapid Miner and R extension problem on Mac solved

Suppose you are using R 2.12

Enter the following in either /etc/profile or ~/.bash_profile

PATH=$PATH:/Library/Frameworks/R.framework/Versions/2.12/Resources/bin:/Library/Frameworks/R.framework/Versions/2.12/Resources/library/rJava/jri
R_HOME=/Library/Frameworks/R.framework/Versions/2.12/Resources
export R_HOME

In the /Library/Frameworks/R.framework/Versions/2.12/Resources/library/rJava/jri/ folder, do the following:
1) Rename the JRI.jar to JRI.jar.original
2) make a copy of the libjri.jnilib and rename this copy to JRI.jar
This is because, by default it looks for JRI.jar

Once rapidminer is started, in the R preferences, change the rapid.miner.r.native lib file back to /Library/Frameworks/R.framework/Versions/2.12/Resources/library/rJava/jri/libjri.jnilib

Delete the JRI.jar (copied from libjri.jnilib)
Rename back JRI.jar.original to JRI.jar.


Wednesday, August 3, 2011

Download file from terminal MAC OSX versus Linux

On Mac, use:
curl -O ftp://abc.tar.gz &

On Linux, use:
wget ftp://abc.tar.gz &

Wednesday, June 15, 2011

Tutorial to create R packages

http://www.stat.ufl.edu/system/r-pkg-tut/

Tuesday, June 7, 2011

receiver operating characteristic (roc) and area under the curve (AUC) in matlab

Here is an implementation corresponding to Tom Fawcett's algorithm 3 in "roc graphs: notes and practical considerations for researchers, " 2004.

function auc=areaundercurve(FPR,TPR);
% given true positive rate and false positive rate calculates the area under the curve
% true positive are on the y-axis and false positives on the x-axis
% sum rectangular area between all points
% example: auc=areaundercurve(FPR,TPR);
[x2,inds]=sort(FPR);
x2=[x2,1]; % the trick is in inventing a last point 1,1
y2=TPR(inds);
y2=[y2,1];
xdiff=diff(x2);
xdiff=[x2(1),xdiff];
auc1=sum(y2.*xdiff); % upper point area
auc2=sum([0,y2([1:end-1])].*xdiff); % lower point area
auc=mean([auc1,auc2]);


function [TP,FP]=getfptp(T,Y)
Y(Y>=0)=1;Y(Y<0)=-1; % target class (positive) is 1
TP=sum( ( (Y==1) + (T==1) )==2 );
FN=sum( ( (Y==-1) + (T==1) )==2 );
FP=sum( ( (Y==1) + (T==-1) )==2 );
TN=sum( ( (Y==-1) + (T==-1) )==2 );
TP=TP/(TP+FN);
FP=FP/(FP+TN);
end

Saturday, June 4, 2011

How to read external drives in both Mac and Windows

Use a HFS explorer in Windows like http://www.catacombae.org/hfsx.html

Tuesday, May 31, 2011

R mean and std plot

Taken from http://monkeysuncle.stanford.edu/?p=485

First create the following function:
error.bar <- function(x, y, upper, lower=upper, length=0.1,...){
if(length(x) != length(y) | length(y) !=length(lower) | length(lower) != length(upper))
stop("vectors must be same length")
arrows(x,y+upper, x, y-lower, angle=90, code=3, length=length, ...)
}

Then try the example below:
y <- rnorm(500, mean=1)
y <- matrix(y,100,5)
y.means <- apply(y,2,mean)
y.sd <- apply(y,2,sd)
barx <- barplot(y.means, names.arg=1:5,ylim=c(0,1.5), col="blue", axis.lty=1, xlab="Replicates", ylab="Value (arbitrary units)")
error.bar(barx,y.means, 1.96*y.sd/10)

Sunday, May 8, 2011

Solving R error using kfilter matrix(NA, ss$n, ss$p) : non-numeric matrix extent

To solve the error before using SS, do a double transpose to the time series

example
the following works:

m2=NULL
m2 <- SS( t(t(ts(runif(100, 5.0, 7.5)))))
m2.n=1;
m2.p=1;
m2.f <- kfilter(m2)
plot(m2$y)
lines(m2$y,lty=2,col="green")
lines(m2.f$m,lty=2,col="red")

but dont forget to first install the sspir package using
install.packages("sspir")

and loading the library using
library(sspir)

Thursday, May 5, 2011

Solving R error "tar: Failed to set default locale" in Mac OS X

write the following in terminal

defaults write org.R-project.R force.LANG en_US.UTF-8

and restart R

Tuesday, May 3, 2011

Virtual Box Notes

To share folders from Linux Guest OS, we need to add the share folder and also install Virtual Box Additions

Installing Octave and Gnuplot in Mac OS X

Solution copied from http://www.miscdebris.net/blog/2009/09/16/install-gnuplot-on-mac-os-x/


There are some possibilities to install Gnuplot on Mac OS X, none of them is “official”, since the Gnuplot project doesn’t provide binaries for Mac OS X. It’s actually quite easy to configure and compile Gnuplot (i.e. ./configure; make; make install), but some terminals are not built due to missing dependencies and this makes Gnuplot less powerful.


There is some information on the web about running Gnuplot on Mac OS X already (http://lee-phillips.org/info/Macintosh/gnuplot.html , http://maba.wordpress.com/2006/08/02/scientific-plotting-on-mac-os-x-using-gnuplot-and-plot/ ) and there is also http://www.finkproject.org/ and http://www.macports.org/ but there is IMO an easier way (though it still needs some work): there is a Gnuplot installer provided by Octave! Here are the instructions:

Download Octave for Mac OS X from the Octaveforge homepage (latest version at time of writing was 3.2.2).
Open the downloaded dmg file and browse to the Extras folder
Open gnuplot-4.2.5-i386.dmg and copy Gnuplot.app to your Applications folder (or anywhere else).
Alternatively you could directly download the gnuplot-4.2.5-i386.dmg from here.
That’s about it. Or at least it should be. Usually you just open Gnuplot.app and start plotting. But unfortunately the default aquaterm terminal doesn’t work for me always (on one Mac it did, on another it didn’t – maybe Aquaterm shouldn’t be installed before). So we need to hack Gnuplot.app so that X11 (which is also more powerful) becomes the default terminal.

Right click on Gnuplot.app and choose “Show Package Contents”.
Browse to Contents/Resources and edit “script” with your favorite text editor
Replace both lines do script (“exec ‘${ROOT}/bin/gnuplot’”) with do script (“GNUTERM=x11 exec ‘${ROOT}/bin/gnuplot’”) . X11 will then be the default terminal.
You might also want to have gnuplot available in your usual terminal session. This is also no problem. Just run the following command in your terminal

ln -s /Applications/Gnuplot.app/Contents/Resources/bin/gnuplot /Users/username/bin/gnuplot
where username is your user name. /Users/username/bin must be added to the path, so that Gnuplot works form everywhere, e.g. you could add the following to the /Users/username/.profile file

# add binary directory of .localexport PATH=$HOME/.local/bin:$PATH
# add bin directory of home directory
export PATH=$HOME/bin:$PATH
If you run gnuplot from the Terminal.app again the Aquaterm terminal is the default. This can be changed by adding

# use x11 as the default Gnuplot terminal
export GNUTERM=x11
to your .profile file.