Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $`1`
- [1] 1 2
- $`2`
- [1] 1 2 3
- $`3`
- [1] 1
- ID Obs
- 1 1
- 1 2
- 2 1
- 2 2
- 2 3
- 3 1
- ## your list
- ll <- list("1" = 1:2, "2" = 1:3, "3" = 1:2)
- ## convert to data.frame
- dl <- data.frame(ID = rep(names(ll), sapply(ll, length)),
- Obs = unlist(ll))
- > dl
- ID Obs
- 11 1 1
- 12 1 2
- 21 2 1
- 22 2 2
- 23 2 3
- 31 3 1
- 32 3 2
- .list <- list(`1` = 1:2, `2` = 1:3, `3` = 1:2)
- library(reshape2)
- melt(.list)
- ## value L1
- ## 1 1 1
- ## 2 2 1
- ## 3 1 2
- ## 4 2 2
- ## 5 3 2
- ## 6 1 3
- ## 7 2 3
- List <- list('1'=c(1,2), '2'= c(1,2,3), '3'=1)
- x <- unlist(List) # as suggested by Gavin Simpson
- data.frame(ID=substr(names(x),1,1), Obs=x)
- ID Obs
- 11 1 1
- 12 1 2
- 21 2 1
- 22 2 2
- 23 2 3
- 3 3 1
- data.frame(ID=substr(names(x),1,1), Obs=setNames(x, NULL))
- ID Obs
- 1 1 1
- 2 1 2
- 3 2 1
- 4 2 2
- 5 2 3
- 6 3 1
- List2 <- list('week1'=c(1,2), 'week2'= c(1,2,3), 'week3'=1)
- x <- unlist(List2)
- data.frame(ID=substr(names(x),1,nchar(names(x)[1])-1), Obs=setNames(x, NULL))
- ID Obs
- 1 week1 1
- 2 week1 2
- 3 week2 1
- 4 week2 2
- 5 week2 3
- 6 week3 1
Add Comment
Please, Sign In to add comment