[R] Merging matrices of different rows
Steven Yen
@tyen @end|ng |rom ntu@edu@tw
Sun Jun 29 23:00:51 CEST 2025
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 <ggrothendieck using 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 <styen using 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 <jdnewmil using 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 <ggrothendieck using 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]]
More information about the R-help
mailing list