[R] passing dataframe col name through cbind()
Eric Rupley
erupley at umich.edu
Tue Nov 8 22:49:51 CET 2011
Thanks! Makes sense now.
On Nov 8, 2011, at 1:32 PM, jim holtman wrote:
> Try this:
>
>> cbind(scores[,1,drop = FALSE], scores[,2:3])
> name round1 round2
> 1 Bob 40 5
> 2 Ron 30 6
> 3 Bud 20 4
>>
>
> Then do ?'[' to learn about 'drop'
>
> On Tue, Nov 8, 2011 at 1:06 PM, Eric Rupley <erupley at umich.edu> wrote:
>>
>>
>>
>> Hi all ---
>>
>> I note that the column name of the first column in a dataframe does not necessarily get passed on when using cbind (example below)…
>>
>> I'm looking for help in clarifying why this behavior occurs, and how I can get all col names, including the first, passed on to the result…while I suspect it's obvious and documented to the cognoscenti, it's puzzling me…
>>
>> Many thanks for any help on this...
>> Eric
>>
>>> scores <- data.frame(name=c("Bob","Ron","Bud"),round1=c(40,30,20),round2=c(5,6,4)) #some toy data
>>>
>>> scores
>> name round1 round2
>> 1 Bob 40 5
>> 2 Ron 30 6
>> 3 Bud 20 4
>>>
>>
>>> cbind(scores[,1],total=rowSums(scores[,2:3]),scores[,2:3])
>> scores[, 1] total round1 round2
>> 1 Bob 45 40 5
>> 2 Ron 36 30 6
>> 3 Bud 24 20 4
>>>
>>
>> ...first column renamed...
>>
>> …yet this passes all column names:
>>
>>> cbind(scores[,1:3])
>> name round1 round2
>> 1 Bob 40 5
>> 2 Ron 30 6
>> 3 Bud 20 4
>>>
>>
>> …but this doesn't:
>>
>>> cbind(scores[,1],scores[,2:3])
>> scores[, 1] round1 round2
>> 1 Bob 40 5
>> 2 Ron 30 6
>> 3 Bud 20 4
>>
>>
>> --
>> Eric Rupley
>> University of Michigan, Museum of Anthropology
>> 1109 Geddes Ave, Rm. 4013
>> Ann Arbor, MI 48109-1079
>>
>> erupley at umich.edu
>> +1.734.276.8572
>> ______________________________________________
>> 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.
>>
>
>
>
> --
> Jim Holtman
> Data Munger Guru
>
> What is the problem that you are trying to solve?
> Tell me what you want to do, not how you want to do it.
>
>
More information about the R-help
mailing list