[Rd] Feature Request: "matrix[1:10,1:10, block=F] <- 1:10"

Warnes, Gregory R gregory_r_warnes@groton.pfizer.com
Wed, 20 Feb 2002 17:04:53 -0500


Hi All,

Typo in my code (as pointed out by David Meyer),  "index_i" and "index_j"
should be "index.i" and "index.j".   

-Greg


> -----Original Message-----
> From: David Meyer [mailto:david.meyer@ci.tuwien.ac.at]
> Sent: Wednesday, February 20, 2002 4:37 PM
> To: Warnes, Gregory R
> Cc: 'R-devel@stat.math.ethz.ch'
> Subject: Re: [Rd] Feature Request: "matrix[1:10,1:10, 
> block=F] <- 1:10"
> 
> 
> "Warnes, Gregory R" wrote:
> > 
> > Hi Guys,
> > 
> > I've again been surprised when something like
> > 
> > > m <- matrix("", nrow=3,ncol=3)
> > > index_i <- c(2,1,3)
> > > index_j <- c(1,3,2)
> > > vals    <- c("a","b","c")
> > > m[ index_i, index_j ] <- vals
> > > m
> > 
> > gives block-wise application of the assignment:
> > 
> >      [,1] [,2] [,3]
> > [1,] "b"  "b"  "b"
> > [2,] "a"  "a"  "a"
> > [3,] "c"  "c"  "c"
> > 
> 
> Yes, you need to provide the indices as matrix, like:
> 
> m[cbind(index_i,index_j)]
> 
> (BTW: Hou do you manage to get index_i <- c(...) properly 
> working? My R
> version still treats _ as a replacement for <-)
> 
> > when what I wanted was by-element assignment:
> > 
> >      [,1] [,2] [,3]
> > [1,]   ""   ""  "b"
> > [2,]  "a"   ""   ""
> > [3,]   ""  "c"   ""
> > 
> > I always end up writing the code:
> > 
> > > for( p in length(index_i) )
> > >    m[ index_i[p], index_j[p] ] <- vals[p]
> > 
> > to do what I want.
> > 
> > So, I'm thinking about creating a patch to the R source to 
> add an optional
> > parameter, say "block",  to the "[<-" call for matrixes and 
> data frames.
> > 
> > When "block=T" (the default) the old behaviour is 
> preserved.  When "block=F"
> > the behavior I want occures so that
> > 
> > > m[ index_i, index_j, block=F ] <- vals
> > 
> > would do what I want.
> > 
> > Comments?  Cheers?  Jeers?  Silence?
> > 
> > -Greg
> > 
> > 
> > 
> > LEGAL NOTICE
> > Unless expressly stated otherwise, this message is 
> confidential and may be privileged. It is intended for the 
> addressee(s) only. Access to this E-mail by anyone else is 
> unauthorized. If you are not an addressee, any disclosure or 
> copying of the contents of this E-mail or any action taken 
> (or not taken) in reliance on it is unauthorized and may be 
> unlawful. If you are not an addressee, please inform the 
> sender immediately.
> > 
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
> -.-.-.-.-.-.-.-.-
> > r-devel mailing list -- Read 
http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
>
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._.
_._

-- 
	Mag. David Meyer		Wiedner Hauptstrasse 8-10
Vienna University of Technology		A-1040 Vienna/AUSTRIA
       Department for			Tel.: (+431) 58801/10772
Statistics and Probability Theory	mail: david.meyer@ci.tuwien.ac.at
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._