Re: [R] extract element from list by rownames

From: B77S <bps0002_at_auburn.edu>
Date: Tue, 12 Apr 2011 08:21:45 -0700 (PDT)

This probably is not ideal, but this works on a list of mine......

## so you can see the structure of my list
> str(srMT)

List of 4

 $ mode     : chr "discrete"
 $ ks.stat  : chr "mean"
 $ observed :List of 4
  ..$ filter: num [1:13, 1:4] 0.213 0.207 0.144 0.311 0.24 ...
  .. ..- attr(*, "dimnames")=List of 2
  .. .. ..$ ID_2: chr [1:13] "BC_SP1" "BU1_SP1" "BU2_SP1" "MK_SP1" ...
  .. .. ..$     : chr [1:4] "vel1" "vel2" "vel3" "vel4"
  ..$ chi2  : num [1:3] 6.93e+02 6.93e+02 1.93e-12
  ..$ df    : num [1:3] 36 39 3
  ..$ p     : num [1:3] 0 0 1

 $ bootstrap:List of 6
  ..$ filter : num [1:13, 1:4, 1:1000] 0.245 0.254 0.247 0.244 0.25 ... ##### LIST just keeps going and going and going

# as an example

> (srMT[[3]][1])

$filter

         
ID_2           vel1      vel2      vel3      vel4
  BC_SP1  0.2127431 0.1923574 0.2839013 0.3109983
  BU1_SP1 0.2072090 0.3094771 0.2219164 0.2613975
  BU2_SP1 0.1437481 0.3270975 0.2401788 0.2889757
  MK_SP1  0.3114887 0.2503257 0.2177326 0.2204530
  MO_SP1  0.2395539 0.2079802 0.3208321 0.2316338
  MU1_SP1 0.2336137 0.1923791 0.2386081 0.3353991
  MU2_SP1 0.3607257 0.2466847 0.1501613 0.2424284
  MU3_SP1 0.3583597 0.2499569 0.1652739 0.2264095
  RB_SP1  0.2912842 0.2742916 0.1768310 0.2575933
  SB1_SP1 0.2108506 0.2075117 0.3399161 0.2417215
  SB2_SP1 0.2910056 0.2306834 0.2507012 0.2276098
  SB4_SP1 0.2958040 0.2358855 0.2433465 0.2249641   SC_SP1 0.2509970 0.2129797 0.3071544 0.2288689

## some rownames
b <- c("MK_SP1", "SB1_SP1", "SB4_SP1")

## this works to pull them out based on row names

> data.frame((srMT[[3]][1]))[b,]

        filter.vel1 filter.vel2 filter.vel3 filter.vel4

MK_SP1    0.3114887   0.2503257   0.2177326   0.2204530
SB1_SP1   0.2108506   0.2075117   0.3399161   0.2417215
SB4_SP1   0.2958040   0.2358855   0.2433465   0.2249641




I hope this helps, good luck!

Alfredo Alessandrini wrote:
>
> Hi,
>
> I've a list of list.
>
> I want to extract an element by the rownames.
>
> I can extract it by:
>
> data[[1]][[1]][[4]][1]
>
>
> But I want to exctract it by a command like this:
>
> data[[1]][["B0"]][["smac"]][["cont"]][1]
>
> It's possible?
>
>
> Thanks,
>
> Alfredo
>
>
>
>

>> str(data)

> List of 1
> $ :List of 4
> ..$ :List of 4
> .. ..$ : num [1, 1:3] 0.4 0.458 0.5
> .. ..$ : num [1:41, 1] 0.4 0.403 0.405 0.407 0.41 ...
> .. ..$ : num [1:41, 1] 0.000128 0.000328 0.000528 0.000728 0.000992 ...
> .. ..$ :List of 1
> .. .. ..$ : num [1:49, 1] 0 0 -0.00626 0.99832 0 ...
> .. .. ..- attr(*, "dim")= int [1:3] 1 1 1
> .. .. ..- attr(*, "dimnames")=List of 3
> .. .. .. ..$ : chr "cont"
> .. .. .. ..$ : NULL
> .. .. .. ..$ : NULL
> .. ..- attr(*, "dim")= int [1:3] 4 1 1
> .. ..- attr(*, "dimnames")=List of 3
> .. .. ..$ : chr [1:4] "begin.mode.end" "lambda" "sensi" "smac"
> .. .. ..$ : NULL
> .. .. ..$ : NULL
> ..$ :List of 4
> .. ..$ : num [1, 1:3] 0.58 0.67 0.782
> .. ..$ : num [1:82, 1] 0.58 0.583 0.585 0.588 0.59 ...
> .. ..$ : num [1:82, 1] 0.0017 0.00168 0.00165 0.00162 0.0016 ...
> .. ..$ :List of 1
> .. .. ..$ : num [1:49, 1] -0.00597 0.71045 -0.05844 0.99187 -0.00807 ...
> .. .. ..- attr(*, "dim")= int [1:3] 1 1 1
> .. .. ..- attr(*, "dimnames")=List of 3
> .. .. .. ..$ : chr "cont"
> .. .. .. ..$ : NULL
> .. .. .. ..$ : NULL
> .. ..- attr(*, "dim")= int [1:3] 4 1 1
> .. ..- attr(*, "dimnames")=List of 3
> .. .. ..$ : chr [1:4] "begin.mode.end" "lambda" "sensi" "smac"
> .. .. ..$ : NULL
> .. .. ..$ : NULL
> ..$ :List of 4
> .. ..$ : num [1, 1:3] 0.7 0.82 1.03
> .. ..$ : num [1:133, 1] 0.7 0.703 0.705 0.708 0.71 ...
> .. ..$ : num [1:133, 1] 0.0007 0.000775 0.00085 0.000925 0.001 ...
> .. ..$ :List of 1
> .. .. ..$ : num [1:49, 1] -0.030584 0.559164 -0.000269 0.995624
> -0.006616 ...
> .. .. ..- attr(*, "dim")= int [1:3] 1 1 1
> .. .. ..- attr(*, "dimnames")=List of 3
> .. .. .. ..$ : chr "cont"
> .. .. .. ..$ : NULL
> .. .. .. ..$ : NULL
> .. ..- attr(*, "dim")= int [1:3] 4 1 1
> .. ..- attr(*, "dimnames")=List of 3
> .. .. ..$ : chr [1:4] "begin.mode.end" "lambda" "sensi" "smac"
> .. .. ..$ : NULL
> .. .. ..$ : NULL
> ..$ :List of 4
> .. ..$ : num [1, 1:3] 1.45 1.64 1.8
> .. ..$ : num [1:141, 1] 1.45 1.45 1.46 1.46 1.46 ...
> .. ..$ : num [1:141, 1] 0.001 0.001 0.001 0.001 0.001 ...
> .. ..$ :List of 1
> .. .. ..$ : num [1:49, 1] -0.00547 0.65798 0 0 0 ...
> .. .. ..- attr(*, "dim")= int [1:3] 1 1 1
> .. .. ..- attr(*, "dimnames")=List of 3
> .. .. .. ..$ : chr "cont"
> .. .. .. ..$ : NULL
> .. .. .. ..$ : NULL
> .. ..- attr(*, "dim")= int [1:3] 4 1 1
> .. ..- attr(*, "dimnames")=List of 3
> .. .. ..$ : chr [1:4] "begin.mode.end" "lambda" "sensi" "smac"
> .. .. ..$ : NULL
> .. .. ..$ : NULL
> ..- attr(*, "dim")= int [1:3] 4 1 1
> ..- attr(*, "dimnames")=List of 3
> .. ..$ : chr [1:4] "B0" "B2" "B3" "MIR"
> .. ..$ : NULL
> .. ..$ : NULL
>>

>
> ______________________________________________
> 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.
>
--
View this message in context: http://r.789695.n4.nabble.com/extract-element-from-list-by-rownames-tp3444730p3444892.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.
Received on Tue 12 Apr 2011 - 15:32:55 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 12 Apr 2011 - 15:40:30 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive