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@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.
______________________________________________ R-help@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.