[R] Non-procedural access to columns of a matrix
Iuri Gavronski
iuri at ufrgs.br
Fri Jun 18 20:58:03 CEST 2010
Hi,
I would like to have an index for a column in a matrix encoded in a
cell of the same matrix.
For example:
x = matrix(c(11,12,13,1,
21,22,23,3,
31,32,33,2),byrow=T,ncol=4)
In this case, column 4 is the index. I then access the column
specified in the index by:
> for (i in 1:3) print(x[i,x[i,4]])
[1] 11
[1] 23
[1] 32
>
> for (i in 1:3) {x[i,x[i,4]] <- x[i,x[i,4]] + 5}
> x
[,1] [,2] [,3] [,4]
[1,] 16 12 13 1
[2,] 21 22 28 3
[3,] 31 37 33 2
>
Is there a way to get the same results without looping?
Best,
Iuri.
More information about the R-help
mailing list