[R] multiple bases to decimal (was: comparing two matrices)

Adrian Dusa dusa.adrian at gmail.com
Sun Jan 21 13:39:33 CET 2007


Hi again,

I was contemplating the solution using base 3:
set.seed(3)
mat2 <- matrix(sample(0:2, 15, replace=T), 5, 3)

Extracting the line numbers is simple:
bases <- c(3, 3, 3)^(2:0)       # or just 3^(2:0)
colSums(apply(mat2, 1, function(x) x*bases)) + 1
[1]  7 23 25  8  1

The problem is sometimes the columns have different number of levels, as in:
mat1 <- expand.grid(0:2, 0:2, 0:1)[,3:1]

Is there any chance to combine different bases in order to obtain the 
corresponding line numbers?
I thought of something like:
bases <- c(3, 3, 2)^(2:0)

but it doesn't work (sigh).

Thanks for any hint,
Adrian

-- 
Adrian Dusa
Romanian Social Data Archive
1, Schitu Magureanu Bd
050025 Bucharest sector 5
Romania
Tel./Fax: +40 21 3126618 \
          +40 21 3120210 / int.101



More information about the R-help mailing list