[R] Loading List data into R with scan()

Uwe Ligges ligges at statistik.tu-dortmund.de
Thu Jun 23 17:19:46 CEST 2011



On 23.06.2011 16:39, Michael Pearmain wrote:
> Hi All,
>
> I've been given a data file of the form:
> 1: 3,4,5,6
> 2:1,2,3
> 43: 5,7,8,9,5
>
> and i want to read this data in as a list to create the form:
> (guessing final look)
> my.list
> [[1]]
> [1] 3 4 5 6
>
> [[2]]
> [1] 1 2 3
>
> [[43]]
> [1] 5 7 8 9 5
>
> I can get to a stage using scan:
> scan("my.data", what = character(0), quiet = TRUE)
> to load
> [1] "1: 3,4,5,6"
> [2] "2:1,2,3"
> [3] "43: 5,7,8,9,5"


I don't understand why you want 40 empty list elements, but here is what 
you asked for (not optimized, just hacked in few seconds):

temp <- strsplit(d, ":")
num <- as.numeric(sapply(temp, "[[", 1))
L <- vector(mode = "list", length = max(num))
for(i in seq_along(temp)){
     L[[num[i]]] <- as.numeric(unlist(strsplit(temp[[i]][2], ",")))
}
L

Uwe Ligges



> but im not sure on how next to proceed to arrange this into a list form, can
> anyone offer some advise?
>
> Thanks in advance
>
> Mike
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> 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.



More information about the R-help mailing list