[R] matrix propagation problem

David Winsemius dwinsemius at comcast.net
Mon Dec 30 16:48:48 CET 2013


On Dec 29, 2013, at 7:21 PM, Gregory Carey wrote:

> Please see the code and R output below. I cannot understand why a  
> matrix object is being propagated in row major order by default and  
> then in column major order when byrow=TRUE is specified when I use  
> one set of dimensions. But when I use different dimensions, the  
> propagation is correct.

You appear to be reversing the terms column-major and row-major order  
from the fashion in which they are being used by the majority of  
commenters in R help. The first example without byrow=TRUE is what I  
would have called column-major while the second is row-major.

The third example appears to be loading values in column-major order.  
So I do not see any inconsistency.

-- 
David.
> Greg
>
>> pvec <- colMeans(rbind(hapn, hapn2))
>> class(pvec)
> [1] "numeric"
>> length(pvec)
> [1] 100
>> pvec[1:5]
> [1] 0.08263811 0.59034639 0.21173734 0.77819000 0.11360578
>> nLoci
> [1] 100
>> nObs
> [1] 500
>> pvecMat <- matrix(pvec, nLoci, nObs)
>> pvecMat[1:5, 1:7]
>           [,1]       [,2]       [,3]       [,4]       [,5]       [, 
> 6]       [,7]
> [1,] 0.08263811 0.08263811 0.08263811 0.08263811 0.08263811  
> 0.08263811 0.08263811
> [2,] 0.59034639 0.59034639 0.59034639 0.59034639 0.59034639  
> 0.59034639 0.59034639
> [3,] 0.21173734 0.21173734 0.21173734 0.21173734 0.21173734  
> 0.21173734 0.21173734
> [4,] 0.77819000 0.77819000 0.77819000 0.77819000 0.77819000  
> 0.77819000 0.77819000
> [5,] 0.11360578 0.11360578 0.11360578 0.11360578 0.11360578  
> 0.11360578 0.11360578
>> pvecMat2 <- matrix(pvec, nLoci, nObs, byrow=TRUE)
>> pvecMat2[1:5, 1:7]
>           [,1]      [,2]      [,3]    [,4]      [,5]     [,6]     [,7]
> [1,] 0.08263811 0.5903464 0.2117373 0.77819 0.1136058 0.149802  
> 0.829995
> [2,] 0.08263811 0.5903464 0.2117373 0.77819 0.1136058 0.149802  
> 0.829995
> [3,] 0.08263811 0.5903464 0.2117373 0.77819 0.1136058 0.149802  
> 0.829995
> [4,] 0.08263811 0.5903464 0.2117373 0.77819 0.1136058 0.149802  
> 0.829995
> [5,] 0.08263811 0.5903464 0.2117373 0.77819 0.1136058 0.149802  
> 0.829995
>> matrix(pvec, 2, 5)
>           [,1]      [,2]      [,3]      [,4]      [,5]
> [1,] 0.08263811 0.2117373 0.1136058 0.8299950 0.7709431
> [2,] 0.59034639 0.7781900 0.1498020 0.6973011 0.3875476
> ______________________________________________
> 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.

David Winsemius, MD
Alameda, CA, USA



More information about the R-help mailing list