Brandon Bertelsen Brandon Bertelsen - 1 month ago 9
R Question

Specifying column names in a data.frame changes spaces to "."

Let's say I have a data.frame, like so:

x <- c(1:10,1:10,1:10,1:10,1:10,1:10,1:10,1:10,1:10,1:10)
df <- data.frame("Label 1"=x,"Label 2"=rnorm(100))


head(df,3)

returns:

Label.1 Label.2
1 1 1.9825458
2 2 -0.4515584
3 3 0.6397516


How do I get R to stop automagically replacing the space with a period in the column name? ie, "Label 1" instead of "Label.1".

Answer Source

You don't.

With the space you desire the format would not satisfy the requirements for an identifier that come to play when you use df$column.1 -- that could not cope with a space. So see the make.names() function for details or an example:

> make.names(c("Foo Bar", "tic tac"))
[1] "Foo.Bar" "tic.tac"  
>