You may want to read the help page for '[' and '[[' a few more times
(the differencese can be subtle).

The '[[' only returns a single element from a data structure (but in the
case of a list, that single element can be quite complex).  So something
like list[[1:2]] does not make sense because you are asking something
that returns 1 thing to return 2.  You can do list[1:2] which will
return a list consisting of the 1st 2 elements of the original list.  If
you list happens to be a data frame as well, then you can subset it like
a matrix: mydf[1:2, 3:4] gives the 1st 2 rows of columns 3 and 4,
mydf[,1:2] gives the first 2 columns.  These will continue to be data
frames (since '[' returns the same type of object), but tools like
as.matrix can convert this into a matrix.

-- 
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[EMAIL PROTECTED]
(801) 408-8111
 
 

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Olivier Lefevre
> Sent: Thursday, April 24, 2008 4:16 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [R] matrix from list
> 
> Yes, unlist is the magic wand I was looking for. Thanks a million!
> 
> Having said that, I find it rather arbitrary that you can 
> write mat[1:4] but not list[[1:2]]; IMO there should be no 
> need for a "magic" operator like unlist: 
> list[[1:length(list)]] could do the job.
> 
> -- O.L.
> 
> ______________________________________________
> 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.
> 

______________________________________________
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