[R] Extract every 2 element for a list which are not equal in length

Jim Lemon drjimlemon at gmail.com
Tue Mar 8 03:00:34 CET 2016


Hi Tanvir,
I think what you want is:

lapply(e,"[",1)
lapply(e,"[",2)

Jim


On Tue, Mar 8, 2016 at 11:47 AM, Mohammad Tanvir Ahamed via R-help
<r-help at r-project.org> wrote:
> Hi,
>
> a <- c(1:5)b <- c(1:3)
> c <- 1
> d <- 5
> e <- list(a,b,c,d)
>
> # To extract every 1st element
> lapply(e,"[[",1)
>
> ## Out-put
> [[1]]
> [1] 1
>
> [[2]]
> [1] 1
>
> [[3]]
> [1] 1
>
> [[4]]
> [1] 5
>
> #To extract every 2nd element (Need help in this case)
> lapply(e,"[[",2)
>
> ## Expected outcome
> [[1]]
> [1] 2
>
> [[2]]
> [1] 2
>
> [[3]]
> [1] NA
>
> [[4]]
> [1] NA
>
>
>
> Any help will be appreciated . Thanks
>
>
> Tanvir Ahamed
> Göteborg, Sweden  |  mashranga at yahoo.com
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.



More information about the R-help mailing list