make.names(names, unique=F)
"."
, and not beginning
with a number.
The algorithm
deletes leading blanks,
precedes an empty string or a string starting with a number by
"X"
,
and replaces each illegal character by
"."
.
If uniqueness is requested, duplicate values have numbers pasted on
as required.
n1 <- c("abc","ab??","1abc") make.names(n1) [1] "abc" "ab.." "X1abc" make.names(c(n1, "ab..", "ab...1")) [1] "abc" "ab.." "X1abc" "ab.." "ab...1" make.names(c(n1, "ab..", "ab..1"), T) [1] "abc" "ab.." "X1abc" "ab..1" "ab..11" make.names(rep("",5),T) [1] "X" "X1" "X2" "X3" "X4"