suparna mitra wrote: > Hallo, > I was trying some code, but couldn't make one step of the code properly. > Can anybody please help me? > > I have one matrix like this >> values > [,1] [,2] [,3] [,4] [,5] > [1,] 0.7777778 0.36111111 0.22222222 0.1388889 0.0000000 > [2,] 1.0000000 0.00000000 0.53846154 0.0000000 0.5384615 > [3,] 0.5200000 0.48000000 0.64000000 0.0000000 0.8800000 > [4,] 0.8928571 1.00000000 0.00000000 0.8928571 0.1071429 > > > And I want to get some matrix like: >> values.new > [,1] [,2] [,3] [,4] [,5] > [1,] 0.2 0.4 0.6 0.8 1.0 > [2,] 0.2 1.0 0.6 1.0 0.6 > [3,] 0.6 0.8 0.4 1.0 0.2 > [4,] 0.6 0.2 1.0 0.6 0.8 > > > This table should be computed by taking proportion of values in the row that > are larger or equals to the value being considered with the total no of > objects in the row.
I think the code below do what you want, but I would like to know how to do it with one of the *apply functions: m <- read.table(stdin(), header=F) 0.7777778 0.36111111 0.22222222 0.1388889 0.0000000 1.0000000 0.00000000 0.53846154 0.0000000 0.5384615 0.5200000 0.48000000 0.64000000 0.0000000 0.8800000 0.8928571 1.00000000 0.00000000 0.8928571 0.1071429 m <- as.matrix(m) bdim <- dim(m) m2 <- m for(i in 1:bdim[1]) for(j in 1:bdim[2]) m2[i,j] <- sum(m[i,j] <= m[i,]) / bdim[2] m2 ______________________________________________ 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.