[R] assign a vector to list sequence

Sarah Goslee sarah.goslee at gmail.com
Wed Mar 9 16:32:34 CET 2016


Hi,



On Wed, Mar 9, 2016 at 10:22 AM, Jan Kacaba <jan.kacaba at gmail.com> wrote:
> Hello I would like to assign a vector to list sequence. I'm trying my code
> bellow, but the output is not what inteded.
>
> # my code
> mls=vector(mode="list") # my list
> cseq=c(1:3) # my vector
> mls[cseq]=cseq
>
> I get following:
> [[1]]
> [1] 1
> [[1]]
> [2] 2
> [[1]]
> [2] 3
>
> What I need is this:
> [[1]]
> [1] 1 2 3
> [[1]]
> [2] 1 2 3
> [[1]]
> [2] 1 2 3


This doesn't make any sense as an R structure: you have three element
1 in your list.

Here's what I think you might want:
> cseq <- c(1:3) # my vector
> mls <- lapply(cseq, function(x)cseq)
> mls
[[1]]
[1] 1 2 3

[[2]]
[1] 1 2 3

[[3]]
[1] 1 2 3

Sarah



More information about the R-help mailing list