Col names in a data frame
Hi, data.frame() checks names by default to ensure that column names are legal, but there's an argument to change that.
From ?data.frame()
check.names: logical. If ?TRUE? then the names of the variables in the
data frame are checked to ensure that they are syntactically
valid variable names and are not duplicated. If necessary
they are adjusted (by ?make.names?) so that they are.
Sarah
On Thu, Jan 21, 2021 at 3:59 PM Bernard McGarvey
<mcgarvey.bernard at comcast.net> wrote:
Here is an example piece of code to illustrate an issue:
rm(list=ls()) # Clear Workspace
#
Data1 <- matrix(data=rnorm(9,0,1),nrow=3,ncol=3)
Colnames1 <- c("(A)","(B)","(C)")
colnames(Data1) <- Colnames1
print(Data1)
DataFrame1 <- data.frame(Data1)
print(DataFrame1)
colnames(DataFrame1) <- Colnames1
print(DataFrame1)
The results I get are:
(A) (B) (C)
[1,] 0.4739417 1.3138868 0.4262165
[2,] -2.1288083 1.0333770 1.1543404
[3,] -0.3401786 -0.7023236 -0.2336880
X.A. X.B. X.C.
1 0.4739417 1.3138868 0.4262165
2 -2.1288083 1.0333770 1.1543404
3 -0.3401786 -0.7023236 -0.2336880
(A) (B) (C)
1 0.4739417 1.3138868 0.4262165
2 -2.1288083 1.0333770 1.1543404
3 -0.3401786 -0.7023236 -0.2336880
so that when I make the matrix with headings the parentheses are replaced by periods but I can add them after creating the data frame and the column headings are correct.
Any ideas on why this occurs?
Thanks
Bernard McGarvey
Director, Fort Myers Beach Lions Foundation, Inc.
Retired (Lilly Engineering Fellow).
Sarah Goslee (she/her) http://www.numberwright.com