Jim Lemon wrote:
Jan M. Wiener wrote:
hello,
I am trying to rescale a matrix according to one column in the matrix.
Imagine having two matrices with 2 columns each:
mat1:
12.1
22.2
3 2.2
4 2.4
5 2.7
6 2.9
mat2:
11.9
22.0
3 2.1
4 2.2
5 2.4
6 3.0
7. 2.8
I now want to rescale mat2 such that the values in columns 1 are also
between 1 and 6 (as in mat1). Of, course the values in column 2 should
be rescaled accordingly (simple interpolation).
Are there any predefined functions in R that does such rescaling?
Hi Jan,
library(plotrix)
newmat1-rescale(mat1,c(1,6))
newmat2-rescale(mat2,c(1,6))
Oops, didn't read that properly:
newmat2-cbind(rescale(mat2[,1],c(1,6)),
rescale(mat2[,2],c(min(mat2[,2],max(mat2[,2])*6/7)))
and you can make it general by substituting:
max(mat1[,1])/max(mat2[,1]) for 6/7
Jim
__
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.