[R] Question on list objects

Joshua Wiley jwiley.psych at gmail.com
Sat Jan 8 18:59:53 CET 2011


Hi Ron,

Here you go.

Cheers,

Josh

dat <- matrix(1:9,3)
ldat <- list(dat, dat, dat)
ldat[[1]] == dat

## Or
lapply(1:3, function(x) dat)
## which is similar in spirit to
output <- vector("list", 3)
for(i in 1:3) {
  output[[i]] <- dat
}

list1 <- list2 <- vector("list", length=2)

for(i in 1:2) {
  list1[[i]] <- matrix(rnorm(15), 3)
  list2[[i]] <- matrix(rnorm(15), 3)
 }

lapply(1:2, function(x) {list1[[x]] + list2[[x]]})

## This can be done more simply
lapply(1:2, function(x) {matrix(rnorm(15), 3) + matrix(rnorm(15), 3)})

On Sat, Jan 8, 2011 at 3:26 AM, Ron Michael <ron_michael70 at yahoo.com> wrote:
> Hi, I have 2 questions on list object:
>
> 1. Suppose I have a matrix like:
> dat <- matrix(1:9,3)
>
> Now I want to replicate this entire matrix 3 times and put entire result in a list object. Means, if "res" is the resulting list then I should have:
>
> res[[1]]=dat, res[[2]]=dat, res[[3]]=dat
>
> How can I do that in the easilest manner?
>
> 2. Suppose I have 2 list objects:
> list1 <- list2 <- vector("list", length=2)
> for(i in 1:2) {
>   list1[[i]] <- matrix(rnorm(15), 3)
>   list2[[i]] <- matrix(rnorm(15), 3)
>  }
>
> How can I add these 2 list objects? I have tried with just list1+list2, however it is generating some error.
>
> Would be grateful for any help.
>
> Thanks,
>
>
>        [[alternative HTML version deleted]]
>
>
> ______________________________________________
> 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.
>
>



-- 
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
http://www.joshuawiley.com/



More information about the R-help mailing list