Thanks All,

Henrique, gave me the solution is was looking for, the indexing was a
mistake on my part.

Thanks again

On 23 June 2011 16:37, David Winsemius <dwinsemius@comcast.net> wrote:

>
> On Jun 23, 2011, at 11:19 AM, Uwe Ligges wrote:
>
>
>>
>> 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
>>
>
> I wondered about that too. Perhaps he would be satisfied with alpha
> indexing:
>
> d <- c( "1: 3,4,5,6", "2:1,2,3", "43: 5,7,8,9,5")
>  temp <- strsplit(d, ":")
>  num <- sapply(temp, "[[", 1)
>  L <- vector(mode = "list")
>
>  for(i in seq_along(temp)){
>    L[[num[i]]] <- as.numeric(unlist(strsplit(**temp[[i]][2], ",")))
>  }
>
> > L
> $`1`
>
> [1] 3 4 5 6
>
> $`2`
> [1] 1 2 3
>
> $`43`
> [1] 5 7 8 9 5
>
>
>  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
>>>
>>
>
>
> David Winsemius, MD
> West Hartford, CT
>
>

	[[alternative HTML version deleted]]

