[R] Replacing several rows of a matrix at once

Bryan Hanson hanson at depauw.edu
Mon Nov 29 05:14:53 CET 2010


Thanks to Michael, Josh and Jorge - Problem fixed.  Michael's suggestion was
what I needed, but I wouldn't have ever conceptualized it that way, and
Jorge showed me how simple the function could be (at this hour, I was
imagining it would be more work).  Thanks guys.  Bryan


On 11/28/10 11:03 PM, "Michael Sumner" <mdsumner at gmail.com> wrote:

> vec is being recycled column wise, so you can repeat each element the
> required number of times:
> 
> tmp[p,] <- rep(vec, each = length(p))
> 
> There's many ways to achieve this though, so it depends on what other
> variations you might want to deal with.
> 
> Cheers, Mike.
> 
> On Mon, Nov 29, 2010 at 2:53 PM, Bryan Hanson <hanson at depauw.edu> wrote:
>> Hello Folks.  This must be a silly question with a (not) obvious (to me)
>> answer.
>> 
>> Consider this:
>> 
>> tmp <- matrix(1:200, nrow = 20)
>> vec <- 300:309
>> 
>> tmp[9,] <- vec # replacing one row works fine
>> 
>> p <- c(3, 11, 17)
>> tmp[p,] <- vec
>> # replacing multple rows pastes the values down a column and recycles vec.
>> 
>> What I want to do is replace multiple rows simultaneously at once.  I
>> suppose I can write a function, but this seems pretty fundamental so I feel
>> I must be missing some obvious alternative.  I'm feeling like I'm in the
>> Inferno!
>> 
>> TIA.  Bryan
>> *************
>> Bryan Hanson
>> Professor of Chemistry & Biochemistry
>> DePauw University, Greencastle IN USA
>> 
>>> sessionInfo()
>> R version 2.12.0 (2010-10-15)
>> Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
>> 
>> locale:
>> [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
>> 
>> attached base packages:
>>  [1] splines   datasets  tools     grid      grDevices graphics  utils
>> stats
>>  [9] methods   base
>> 
>> other attached packages:
>>  [1] survival_2.35-8    gridExtra_0.7      GGally_0.2.2       xtable_1.5-6
>>  [5] mvbutils_2.5.1     ggplot2_0.8.8      proto_0.3-8        reshape_0.8.3
>>  [9] ChemoSpec_1.46     seriation_1.0-2    colorspace_1.0-1   TSP_1.0-1
>> [13] R.utils_1.5.3      R.oo_1.7.4         R.methodsS3_1.2.1  rgl_0.92.794
>> [17] lattice_0.19-13    mvoutlier_1.4      plyr_1.2.1
>> RColorBrewer_1.0-2
>> [21] chemometrics_1.0   som_0.3-5          robustbase_0.5-0-1 rpart_3.1-46
>> [25] pls_2.1-0          pcaPP_1.8-3        mvtnorm_0.9-92     nnet_7.3-1
>> [29] mclust_3.4.6       MASS_7.3-8         lars_0.9-7         gclus_1.3
>> [33] cluster_1.13.1     e1071_1.5-24       class_7.3-2
>> 
>> ______________________________________________
>> R-help at 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.
>> 
> 
> 



More information about the R-help mailing list