[R] Expanding a VCV Matrix

Maithula Chandrashekhar m.chandrashekhar1977 at gmail.com
Wed Apr 20 19:26:33 CEST 2011


Dear all, I have special task to expand a given VCV matrix, however
could not accomplice yet. Let say I have following VCV matrix

> mat  <- matrix(c(1,2,0,2,5,0.5,0,0.5,3), 3, 3)
> colnames(mat) <- rownames(mat) <- paste("variable", 1:3)
> mat
           variable 1 variable 2 variable 3
variable 1          1        2.0        0.0
variable 2          2        5.0        0.5
variable 3          0        0.5        3.0

Now, say I have a general string vector like this:

> Str <- c(paste("variable", 1:4), "variable2")
> Str
[1] "variable 1" "variable 2" "variable 3" "variable 4" "variable 2"

Now according to this string, I want my previous VCV matrix also
expands. Therefore, as "variable 4" is not there in VCV matrix, so it
will be ignored. Therefore final VCV matrix will be of order 4, and
will look like:

	variable 1	variable 2	variable 3	variable 2
variable 1	1	2	0	2
variable 2	2	5	0.5	5
variable 3	0	0.5	3	0.5
variable 2	2	5	0.5	5

However, I do not think it is just some straightforward expansion,
which could be done just by the subsetting mechanism of R. Is there
any idea on how can I do it for general case?

Thanks for your time,



More information about the R-help mailing list