Perhaps:

b[1:nrow(d), 2:3] <- b[1:nrow(d), 2:3]+d

For seconde questin you can use the which function.
which(b==5, arr.ind=T)



On 23/10/2007, Rainer M Krug <Rainer+R-help@krugs.de> wrote:
>
> Hi
>
> I have another question concerning matrices:
> I have two matrices:
>
> > b <- matrix(1:25,5,5,byrow=T)
> > b
>     [,1] [,2] [,3] [,4] [,5]
> [1,]    1    2    3    4    5
> [2,]    6    7    8    9   10
> [3,]   11   12   13   14   15
> [4,]   16   17   18   19   20
> [5,]   21   22   23   24   25
>
> and
>
> > d <- matrix(1:4,2,2,byrow=T)
> > d
>      [,1] [,2]
> [1,]    1    2
> [2,]    3    4
> >
>
>
> and I want to "add" d to b in such a way that I specify one cell in
> matrix b , e.g. [1,2]:
>
>
>    [,1] [,2] [,3]   [,4]   [,5]
> [1,]    1    2+1    3+2    4    5
> [2,]    6    7+3    8+4    9   10
> [3,]   11   12     13     14   15
> [4,]   16   17     18     19   20
> [5,]   21   22     23     24   25
>
> Is there an easy way of doing this, apart from iterating through the
> matrix d?
>
> Also, when I use
>
> > apply(d, c(1,2), function(x) {})
>
> is there a way of knowing the column anr row which the element x is
> from, or o I have to use for loops for that?
>
> Thanks in advance,
>
> Rainer
>
> ______________________________________________
> 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.
>



-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O

	[[alternative HTML version deleted]]

