In this case you could use the apply function.

Let your k*l matrix is named as y. Then, in order to standardize the values
within each column use the following function

aver<-apply(y,2,mean) # calculate the mean within each column
std<-apply(y,2,sd) # calculate the stabdard deviation within each column

z<-matrix(0,nrow=k,ncol=l)
for(i in 1:k){
   for(j in 1:l){
z[i,j]<-(y[i,j]-aver[j])/std[j]
}
}
z

On Tue, Oct 2, 2012 at 12:51 PM, Rui Esteves <ruimax...@gmail.com> wrote:

> Hello,
>
> I have a matrix with values, with columns c1..cn.
> I need the values to be normalized between 0 and 1 by column.
> Therefor, the 0 should correspond to the minimum value in the column c1 and
> 1 should correspond to the maximum value in the column c1.
> The remaining columns should be organized in the same way.
>
> Does a function in R exists for this purpose?
>
> Thanks,
> Rui
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to