[R] row.names(), rownames(), colnames(), names() ...?

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Sun Apr 3 03:11:07 CEST 2016

Data frames are lists of columns. The names() function is appropriate for lists. 

It doesn't pay to fall into the trap of thinking that data frames are truly symmetric between columns and rows, because there is a performance penalty for accessing rows that is greater than the cost of accessing columns. With that in mind, thinking of data frames as lists is preferred, so names is preferred over colnames.
Sent from my phone. Please excuse my brevity.

On April 2, 2016 5:54:10 PM PDT, Boris Steipe <boris.steipe at utoronto.ca> wrote:
>The help text for row+colnames {base} states:
>  "For a data frame, rownames and colnames eventually call row.names
>   and names respectively, but the latter are preferred."
>Why are they "preferred"?
>Why is it names(), not col.names()?
>I have only ever used names() for vectors - I'm surprised it works on
>data.frames... IMO this is not great for code readability, thus
>thinking to require rownames(), colnames() for all 2D objects, names()
>for vectors and lists. Any problems with this approach?
>Thanks for some insight!
>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>PLEASE do read the posting guide
>and provide commented, minimal, self-contained, reproducible code.

	[[alternative HTML version deleted]]

More information about the R-help mailing list