[R] how to address last and all but last column in dataframe

David Winsemius dwinsemius at comcast.net
Sun Sep 7 00:56:17 CEST 2008


On Sep 6, 2008, at 4:24 PM, drflxms wrote:

> Hello Mr. Burns, Hello Mr. Dwinseminus

snip
>
>
> David, the "input" data.frame is the result of the reshape-command I
> performed. I just copied it from the R-console into the e-mail. In  
> fact
> the first column "video" is not part of the data, but needed for
> analysis with kappam.fleiss function of the irr-package. Sorry, you  
> are
> absolutely correct, I should have mentioned this in my question. I  
> will
> improve when I ask my next question :-).
>

I have not yet picked up facility with reshape. Is there a method  
using reshape to take its screen output and return a dataframe?

-- 
David Winsemius, MD

> Again I like to thank you for your help and wish you a pleasant  
> Sunday.
> Greetings from Munich,
> Felix
>
> Patrick Burns wrote:
>> If I understand properly, you want
>>
>> input[, -c(1, ncol(input))]
>>
>> rather than
>>
>> input[[, -c(video, 21)]]
>>
>> Chapter 1 of S Poetry might be of interest to you.
>>
>> Patrick Burns
>> patrick at burns-stat.com
>> +44 (0)20 8525 0696
>> http://www.burns-stat.com
>> (home of S Poetry and "A Guide for the Unwilling S User")
>>
>> drflxms wrote:
>>> Dear R-colleagues,
>>>
>>> another question from a newbie: I am creating a lot of simple
>>> pivot-charts from my raw data using the reshape-package. In these  
>>> charts
>>> we have medical doctors judging videos in the columns and the videos
>>> they judge in the rows. Simple example of chart/data.frame "input"  
>>> with
>>> two categories 1/0:
>>>
>>> video 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
>>>
>>> 1      1 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0  0  0
>>> 2      2 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0  0  1
>>> 3      3 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0  0  0
>>> 4      4 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0  0  0
>>> 5      5 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0  1  0
>>> 6      6 0 0 0 0 0 0 0 0 0  0  0  0  0  1  0  0  0  0  0  0  0
>>> 7      7 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0  0  0
>>> 8      8 0 0 0 0 0 0 0 0 0  0  0  0  0  0  1  0  0  0  0  0  0
>>> 9      9 0 0 0 0 0 0 0 0 0  1  0  1  1  0  1  1  0  0  0  1  0
>>> 10    10 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0  0  0
>>>
>>> I recently learned, that I can easily create a confusion matrix  
>>> out of
>>> this data using the following commands:
>>>
>>> pairs<- 
>>> data.frame(pred=factor(unlist(input[2:21])),ref=factor(input[,22]))
>>>
>>> pred<-pairs$pred
>>> ref <- pairs$ref
>>> library (caret)
>>> confusionMatrix(pred, ref, positive=1)
>>>
>>> - where column 21 is the reference/goldstandard.
>>>
>>> My problem is now, that I analyse data.frames with an unknown  
>>> count of
>>> columns. So to get rid of the first and last column for the "pred"
>>> variable and to select the last column for the "ref" variable, I  
>>> have to
>>> look at the data.frame before doing the above commands to set the  
>>> proper
>>> column numbers.
>>>
>>> It would be very comfortable, if I could address the last column  
>>> not by
>>> number (where I have to count beforehand) but by a variable "last
>>> column".
>>>
>>> Probably there is a more easy solution for this problem using the  
>>> names
>>> of the columns as well: the reference is always number "21" the  
>>> first
>>> column is always called "video". So I tried:
>>>
>>> attach(input)
>>> pairs<-data.frame(pred=factor(unlist(input[[,-c(video, 
>>> 21)]])),ref=factor(input[[21]]))
>>>
>>>
>>> which does not work unfortunately :-(.
>>>
>>> I'd be very happy in case someone could help me out, cause I am  
>>> really
>>> tired of counting - there are a lot of tables to analyse...
>>>
>>> Cheers and greetings from Munich,
>>> Felix
>>>
>>> ______________________________________________
>>> 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