Hi:

Here's one way, but not especially elegant. The idea is to initialize a
matrix of zeros,
produce an index matrix from two of your objects and then assign the third
object
to the specified indices.

x <- matrix(0, nrow = 3, ncol = 10)
row <- rep(1:nrow(x), unname(sapply(y.covar, nrow)))
row
[1] 1 2 3 3
col <- unname(unlist(y.covar))
col
[1] 5 6 2 3

idx <- cbind(row, col)
x[idx] <- unname(unlist(mass.func))
x
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    0  0.0  0.0    0    1    0    0    0    0     0
[2,]    0  0.0  0.0    0    0    1    0    0    0     0
[3,]    0  0.5  0.5    0    0    0    0    0    0     0

HTH,
Dennis

On Mon, May 24, 2010 at 11:16 AM, Kathryn Lord
<kathryn.lord2...@gmail.com>wrote:

> Dear R users,
>
> I am trying to make this (3 by 10) matrix A
>
> --A----------------------------------------------------
>
> 0   0     0    0  1  0  0  0  0  0
> 0   0     0    0  0  1  0  0  0  0
> 0   0.5  0.5  0  0  0  0  0  0  0
>
> -------------------------------------------------------
>
> from "mass.func"
>
> --mass.func-------------------------------------------
> > mass.func
> $`00`
> prop
> 5
> 1
>
> $`10`
> prop
> 6
> 1
>
> $`11`
> prop
>  2   3
> 0.5 0.5
> ---------------------------------------------------------
>
> which means that
>
> A[1,5] = 1
> A[2,6] =1
> A[3,2] = A[3,3] = 0.5
>
> otherwise, zero.
>
> Any suggestion will be greatly appreciated.
>
> Regrads,
>
> Kathryn Lord
>
>
> p.s.
>
> Here is R code.
>
> ------------------------------------------------------------------
>
> > dat <- as.data.frame(matrix( c( 2, 1, 1, 3, 1, 1, 6, 1, 0, 5, 0, 0), 4,
> 3,
> byrow=T))
> >  covar <- apply(dat[,-1],1,paste,collapse='')
> > sp.dat <- split(dat,covar)
> > y.covar <- lapply(sp.dat, "[",1)
> >
> > prop <- function(prop) { table(prop)/sum(table(prop)) }
> > mass.func <- lapply(y.covar,prop)
> > mass.func
> $`00`
> prop
> 5
> 1
>
> $`10`
> prop
> 6
> 1
>
> $`11`
> prop
>  2   3
> 0.5 0.5
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@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.
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to