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
>> 
>>      [,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
>> 
>>> On Thu, Jun 26, 2025 at 6:47 AM Steven Yen <st...@ntu.edu.tw> wrote:
>>> 
>>> I'd like to cbind matrices of different number of rows, with missing values 
>>> filled by "NA". I used dplyr. The following is obviously not working. Help 
>>> appreciated.
>>> 
>>>> library(dplyr)
>>>> a<-matrix(1:12,nrow=6); a
>>>     [,1] [,2]
>>> [1,]    1    7
>>> [2,]    2    8
>>> [3,]    3    9
>>> [4,]    4   10
>>> [5,]    5   11
>>> [6,]    6   12
>>>> b<-matrix(5:12,nrow=4); b
>>>     [,1] [,2]
>>> [1,]    5    9
>>> [2,]    6   10
>>> [3,]    7   11
>>> [4,]    8   12
>>>> cbind.fill(a,b)
>>> Error in cbind.fill(a, b) : could not find function "cbind.fill"
>>> 
>>> Steven from iPhone
>>>        [[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.
>> 
>> 
>> 
> 
> --
> Sent from my phone. Please excuse my brevity.

        [[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