[R] passing dataframe col name through cbind()

jim holtman jholtman at gmail.com
Tue Nov 8 19:32:17 CET 2011


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