Col names in a data frame
it looks to me that the names are cranked through make.names for data frames case while that doesn't happen for matrices. Peeking into the `colnames<-` code supports this idea, but that in turn uses `names<-` which is a primitive and so defies further easy peeking. The data.frame function provides the check.names parameter to switch this on / off, but for other classes this checking doesn't seem to be provided. Perhaps the idea behind this discrepancy is to enable the use of the $ operator to access columns of the data frame, while that's not possible for matrices anyway. (Personally, I don't find the results of make.names that useful, though, and I tend to sanitise them myself when working with data frames with unwieldy column names). Best regards, Jan
On Thu, Jan 21, 2021 at 03:58:44PM -0500, Bernard McGarvey 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).
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.