[R] formatting a list
Tomas Vaisar
tvaisar at u.washington.edu
Mon Oct 22 16:51:43 CEST 2007
Hi Jim,
I really appreciate your help.
From the input file I have - 19 columns, 7000 rows - the scan gives me
the desired format of a list consisting of 19 lists with 7000 values each.
However I need a list of 7000 lists with 19 values each. (e.g. each row
of my input file should be a separate list bound in a list of all these
lists)
I use both commands you suggested -
x <- scan('temp.txt', what=c(rep(list(0), 19)))
followed by
x.matrix <- do.call('rbind', x) # gives 7000 x 19 matrix.
Although this makes a matrix of the correct dimensions it is not the
"list of lists" the ROCR package expects as input. Can you convert this
matrix into a "list of lists"? Or is there a simple way in R to convert
a table into such a "list of lists"?
Thanks again,
Tomas
jim holtman wrote:
> That is what I thought and that is the format that the 'scan' approach
> should provide. I was just confused when you said that you were going
> to have to transpose it, write it and then read it back in for some
> reason. I understand that Excel can not handle 7000 columns, but was
> wondering where that came into play.
>
> On 10/21/07, Tomas Vaisar <tvaisar at u.washington.edu> wrote:
>
>> The data I have is tab delimited file with 7000 lines of 19 values each
>> (representing 7000 permutations on 19 variables). I want to get it into
>> the ROCR package which expects the data to be in lists - single list of
>> 19 values for each permutation, e.g. list of 7000 lists of 19 values each.
>>
>> I hope this is little clearer.
>>
>> Tomas
>>
>> jim holtman wrote:
>>
>>> What is it that you want to do? The 'scan' statement give you a list
>>> of length 7000 with 19 entries each. Do you want to create a matrix
>>> that has 7000 rows by 19 columns? If so, then you just have to take
>>> the output of the 'scan' and do:
>>>
>>> x.matrix <- do.call('rbind', x) # gives 7000 x 19 matrix.
>>>
>>> So I am still not sure exactly what your input is and what you want to
>>> do with it.
>>>
>>> On 10/21/07, Tomas Vaisar <tvaisar at u.washington.edu> wrote:
>>>
>>>
>>>> Hi Jim,
>>>>
>>>> thanks a lot. It works, however - my other problem is that I need to
>>>> transpose the original table before reading it into the list because the
>>>> data come from Excel and it can't handle 7000 columns. I could read it
>>>> in R transpose end write into a new tab delim file and then read it back
>>>> in, but I would think that there might be a way in R to do both.
>>>> Would you know about the way?
>>>>
>>>> Tomas
>>>>
>>>> jim holtman wrote:
>>>>
>>>>
>>>>> another choice is:
>>>>>
>>>>> x <- scan('temp.txt', what=c(rep(list(0), 19)))
>>>>>
>>>>> On 10/20/07, Tomas Vaisar <tvaisar at u.washington.edu> wrote:
>>>>>
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I am new to R and need to read in a file with 19 columns and 7000 rows
>>>>>> and make it into a list of 7000 lists with 19 items each. For a
>>>>>> simpler case of 10 by 10 table I used x <-scan("file",
>>>>>> list(0,0,0,0,0,0,0,0,0,0)), perhaps clumsy, but it did the job.
>>>>>> However with the large 19x7000 (which needs to be transposed) I am not
>>>>>> sure how to go about it.
>>>>>>
>>>>>> Coudl somebody suggest a way?
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Tomas
>>>>>>
>>>>>> ______________________________________________
>>>>>> 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