I understand. Thanks. My NA rows are to follow the end of the shorter matrix, 
to make the two matrices same depth (number of rows), as in Garbor’s 
demonstration:

      [,1] [,2] [,3] [,4]
 [1,]    1    7    5    9
 [2,]    2    8    6   10
 [3,]    3    9    7   11
 [4,]    4   10    8   12
 [5,]    5   11   NA   NA

Steven from iPhone

> On Jun 30, 2025, at 2:36 AM, Gabor Grothendieck <ggrothendi...@gmail.com> 
> wrote:
> 
> You don't have to arrange that the shorter one comes second.  The
> cbind.ts approach works whether the shorter one is first or second.
> 
>> On Sun, Jun 29, 2025 at 12:14 PM Steven Yen <st...@ntu.edu.tw> wrote:
>> 
>> Thanks to all. In my application I can always arrange to have the shorter 
>> matrix come second which is to be filled with NA. I Will try the ts 
>> approach. Words work less effectively for me. This could have work if plain 
>> R can be more accommodating in cbind.  Thanks.
>> 
>> Steven from iPhone
>> 
>>>> On Jun 29, 2025, at 11:03 PM, Jeff Newmiller <jdnew...@dcn.davis.ca.us> 
>>>> wrote:
>>> 
>>> This capability that ts objects have seems ill-advised. There is always a 
>>> meaning associated with which row and column a matrix has, and this assumes 
>>> that the shorter dimension is associated with times corresponding to the 
>>> first rows of the longer matrix. In general you don't know whether the NAs 
>>> should be at the beginning or whether there are missing rows in the middle, 
>>> or even whether the time intervals don't overlap at all or are on different 
>>> intervals. IMO there should be a separate step required before cbind that 
>>> resolves these questions and appropriately extends the dimension rather 
>>> than embedding this particular resolution approach into the cbind function. 
>>> It could be as simple as an "extend Rows" function... as long as it is 
>>> explicit in the calling code where this strategy can more easily be 
>>> identified, debated, and fixed.
>>> 
>>>> On June 29, 2025 4:56:23 AM PDT, Gabor Grothendieck 
>>>> <ggrothendi...@gmail.com> wrote:
>>>> cbind does work on differently shaped ts objects so:
>>>> 
>>>> a <- matrix(1:12,nrow=6)
>>>> b <- matrix(5:12,nrow=4)
>>>> 
>>>> tmp <- cbind(ts(a), ts(b))
>>>> array(tmp, dim(tmp))
>>>> 
>>>> giving

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to