Benilton Carvalho <beniltoncarva...@gmail.com> writes:

> Hi,
>
> what is the proper of of "passing a missing value" so I can extract
> the entire i-th row of a matrix (in a list of lists) without
> pre-computing the number of cols?
> 
> For example, if I know that the matrices have 2 columns, I can do the 
> following:
>
> set.seed(1)
> x0 <- lapply(1:10, function(i) replicate(4, list(matrix(rnorm(10), nc=2))))
> lapply(lapply(x0, '[[', 3), '[', i=2, j=1:2)
>
> (given that if I don't specify j, I only get the first element)
>
> but if the number of columns are variable:
>
> x1 <- lapply(1:10, function(i) replicate(4, list(matrix(rnorm(100),
> nc=sample(c(2, 4, 5, 10), 1)))))
>
> what would be the value of J below?
>
> lapply(lapply(x1, '[[', 3), '[', i=2, j=J)
>


I think you want 'j=TRUE'. Note:

all.equal( 
         lapply(lapply(x0, '[[', 3), '[', i=2,j=TRUE),
         lapply(lapply(x0, '[[', 3), '[', i=2, j=1:2)
         )

HTH,

Chuck

> or should I really stick with:
>
> lapply(lapply(x1, '[[', 3), function(x) x[2,])
>
> ?
>
> Thank you very much,
> benilton
>

-- 
Charles C. Berry                            Dept of Family/Preventive Medicine
cberry at ucsd edu                          UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

______________________________________________
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