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.

Reply via email to