Loops, Functions, etc
for(i in 1:10) { // runs 10 times
if(i%%2){
cat(i, "is odd\n")
} else {
cat(i, "is even\n")
}
}
#
j<-1
while(j<=10) {
cat(j, "is incremented\n")
j<-j+1
}
you have to define the function first before you can call them!
myfunc<-function(p1,p2,p3){
cat("p1:\t",p1,"\n")
cat("p2:\t",p2,"\n")
cat("p3:\t",p3,"\n")
}
myfunc(p1=1,p2=2,p3=3) // give parameters by name
myfunc(p3=3,p1=1,p2=2) // the order is insignificant
myfunc(1,2,3) // give parameters by position - order of course essential
myfunc(2,3,p1=1) // p1 by name, others by position
myfunc(1,2,3,4) // too many, won't work
use your own function within the apply function
d1<-matrix(c((1:5),seq(from=0.5,to=2.5,by=0.5)),ncol=2,byrow=F) // matrix d1 just like in previous section
myfunc1<-function(myval){
myval<-myval*3
}
d2<-apply(d1,c(1,2),myfunc1) // apply function 'myfunc' to rows and columns of d1
Some Useful Functions
getwd() // print working directory
setwd("/path/to/dir") // change wd
ls() // list all currently defined variables
str() // display structure of object
rm(var) // remove a var
rm(list=ls()) // remove all variables
source() // load file into workspace
help(getwd) || ?getwd // invoke help page
example(ls) // shows examples from help page
help.search("working directory") // search for string in documentation
help(getwd) != help(GetWD) // still case sensitive
install.packages("") // install external package
library() || require() // load package into workspace