[R] Matrix

Bert Gunter bgunter.4567 at gmail.com
Mon Mar 6 20:30:36 CET 2017


Well, of course,  I *did* make a dumb error (again!!). Here's the
corrected version:

x <- c(1:5,10:12)
## generate vector of indices by outer and %%
i <- seq_along(x)
nc <- 4 ## number of columns desired
#### Corrected statement ####
indx <- (outer(i, rev(i-1),"+") %% length(x)) [,seq_len(nc)] +1
#####  Corrected statement

matrix(x[indx],ncol = nc)


Cheers,
Bert

Bert Gunter

"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )


On Mon, Mar 6, 2017 at 11:00 AM, Bert Gunter <bgunter.4567 at gmail.com> wrote:
> Clever, Don.
>
> Here's a more explicit approach that generalizes (if I haven't made
> any dumb errors):
>
> x <- c(1:5,10:12)
> ## generate vector of indices by outer and %%
> i <- seq_along(x)
> nc <- 4 ## number of columns desired
> ## get subscripting indices via outer() and %%
> indx <- outer(i,rev(i),"+") %% (length(x))[,seq_len(nc)]+1
> matrix(x[indx],ncol = nc)
>
> Cheers,
> Bert
>
> Bert Gunter
>
> "The trouble with having an open mind is that people keep coming along
> and sticking things into it."
> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
>
>
> On Mon, Mar 6, 2017 at 9:46 AM, MacQueen, Don <macqueen1 at llnl.gov> wrote:
>> How about this:
>>
>> p0 <- 1:4
>>
>> matrix( c( rep( c(p0, rep(0, 4)) , times=3) , p0) , 7, 4)
>>
>> Of course, it would take some effort to generalize it to different lengths for p0.
>>
>> -Don
>>
>> --
>> Don MacQueen
>>
>> Lawrence Livermore National Laboratory
>> 7000 East Ave., L-627
>> Livermore, CA 94550
>> 925-423-1062
>>
>>
>> On 3/6/17, 8:18 AM, "R-help on behalf of Peter Thuresson" <r-help-bounces at r-project.org on behalf of peter.thuresson at umea.se> wrote:
>>
>>     Hello,
>>
>>     Is there a function in R which can transform, let say a vector:
>>
>>     c(1:4)
>>
>>     to a matrix where the vector is repeated but "projected" +1 one step down for every (new) column.
>>     I want the output below from the vector above, like this:
>>
>>     p<-c(1,2,3,4,0,0,0,0,1,2,3,4,0,0,0,0,1,2,3,4,0,0,0,0,1,2,3,4)
>>
>>     matrix(p,7,4)
>>
>>     best regards / Peter
>>
>>         [[alternative HTML version deleted]]
>>
>>     ______________________________________________
>>     R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>     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.
>>
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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