Is the following more like what you want:


a=c(1,1,1,1,1) # generate the first list b=c(2,2,2) # generate a second list d=list(a,b) # make a list of a and b ( e=c(d,a) ) [[1]] [1] 1 1 1 1 1

[[2]]
[1] 2 2 2

[[3]]
[1] 1

[[4]]
[1] 1

[[5]]
[1] 1

[[6]]
[1] 1

[[7]]
[1] 1

If no, have you read sec. 6 in "An Introduction to R" [the first option available from help.start()]?

In this example, note that e[1] is a list with only one attributes, namely the vector 1 1 1 1 1; e[[1]] is not a list but that vector itself.

     hope this helps.  spencer graves

Karla Sartor wrote:

Hello all,
As a general programming question I can't seem to figure out how to make a list of lists in R.
As matrices won't work as they have to be rectangular.


I am sure that there is an easy solution but...

the specific situation is this:
- I have created a Tukey confidence interval table and have listed the means that are not significantly different
- then using these not significantly different pairs I have created the groups of means that are not significantly different from each other
the issue then is that many of these lists are subsets of other lists and I need to check for this.


Below is a little program is illustrate the issue

> a=c(1,1,1,1,1) # generate the first list
> b=c(2,2,2) # generate a second list
> c=c(a,b) #combine them
> cat(c, "\n") # and print
1 1 1 1 1 2 2 2 # this is 1-D!!! ahh
> d=list(a,b) # make a list of a and b
> d # and print
[[1]] #this is exactly what I want, but continue
[1] 1 1 1 1 1


[[2]]
[1] 2 2 2

> e=list(d,a) # now on the next iteration I need to add another list to this list of lists
> e # and print
[[1]] # ahh all hell has broken loose and this is not what I want
[[1]][[1]] # desired result below
[1] 1 1 1 1 1


[[1]][[2]]
[1] 2 2 2


[[2]] [1] 1 1 1 1 1

-------------
desired result

#wrong code but this is what I want to happen
a=c(1,1,1,1,1,1,1)
for(i in 1:5) {
   a=list(a,1:5)
}

output I want is (something like)
[1] 1 1 1 1 1 1 1
[2] 1 2 3 4 5
[3] 1 2 3 4 5
[4] 1 2 3 4 5
[5] 1 2 3 4 5
[6] 1 2 3 4 5

so then I could call cat(a[1]) and get 1 1 1 1 1 1 1 1 and cat(a[2]) and get 1 2 3 4 5

Anyone know the answer (hopefully simple)

Cheers,

Karla Sartor



----------------------------------------------------------
Karla Sartor
Montana State University - LRES
[EMAIL PROTECTED]

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


--
Spencer Graves, PhD, Senior Development Engineer
O:  (408)938-4420;  mobile:  (408)655-4567

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to