Re: [R] problem with putting objects in list

From: Rainer M Krug <rkrug_at_sun.ac.za>
Date: Fri 08 Sep 2006 - 08:07:49 GMT

Thanks a lot Tony

this explains a lot.

Rainer

Tony Plate wrote:
> I suspect you are not thinking about the list and the
> subsetting/extraction operators in the right way.
>
> A list contains a number of components.
>
> To get a subset of the list, use the '[' operator. The subset can
> contain zero or more components of the list, and it is a list itself.
> So, if x is a list, then x[2] is a list containing a single component.
>
> To extract a component from the list, use the '[[' operator. You can
> only extract one component at a time. If you supply a vector index with
> more than one element, it will index recursively.
>

```>> x <- list(1,2:3,letters[1:3])
>> x
```

> [[1]]
> [1] 1
>
> [[2]]
> [1] 2 3
>
> [[3]]
> [1] "a" "b" "c"
>
```>> # a subset of the list
>> x[2:3]
```

> [[1]]
> [1] 2 3
>
> [[2]]
> [1] "a" "b" "c"
>
```>> # a list with one component:
>> x[2]
```

> [[1]]
> [1] 2 3
>
```>> # the second component itself
>> x[[2]]
```

> [1] 2 3
```>> # recursive indexing
>> x[[c(2,1)]]
```

> [1] 2
```>> x[[c(3,2)]]
```

> [1] "b"
```>>
```

>
> Rainer M Krug wrote:
```>> Hi
>>
>> I use the following code and it stores the results of density() in the
>> list dr:
>>
>> dens <- function(run) { density( positions\$X[positions\$run==run], bw=3,
>> cut=-2 ) }
>> dr <- lapply(1:5, dens)
>>
>> but the results are stored in dr[[i]] and not dr[i], i.e. plot(dr[[1]])
>> works, but plot([1]) doesn't.
>>
>> Is there any way that I can store them in dr[i]?
>>
>> Thanks a lot,
>>
>> Rainer
>>
>>
>>
```

>
```--
Rainer M. Krug, Dipl. Phys. (Germany), MSc Conservation
Biology (UCT)

Department of Conservation Ecology and Entomology
University of Stellenbosch
Matieland 7602
South Africa

Tel:		+27 - (0)72 808 2975 (w)
Fax:		+27 - (0)21 808 3304
Cell:		+27 - (0)83 9479 042

email:	RKrug@sun.ac.za
Rainer@krugs.de

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help