When you need to compare different data with very different value ranges.
With clusterSim library
If x is the normalised data and y is the old data, we would like to do y = (x-mean(x))/sd(x)
One way is to use the clusterSim library
Then a variable can be normalised for mean=0, variance=1 using:
As a bonus, there are other types of normalisation (other than type="n1"). For more information look at the help file.
Without any library
x<-sweep(y, 2, apply(y, 2, mean), "-") x<-sweep(x, 2, apply(x, 2, sd), "/") names(x)<-paste("s", names(x), sep="")
Note that if any values are 0 the normalisation will generate infinite values, which may need to be dealt with.