Your names are not syntactically valid.

Consider:

> mat <- matrix(1:9, nrow = 3)
> colnames(mat) <- letters[1:3]
> mat
     a b c
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
> data.frame(x=1:3,mat)
  x a b c
1 1 1 4 7
2 2 2 5 8
3 3 3 6 9

See ?make.names, and the "Value" section of ?data.frame for how names are
constructed.

Michael's suggestion produces a matrix, not  a data frame. dimnames of
matrices apparently have different rules for validity.

Bert Gunter

"The trouble with having an open mind is that people keep coming along and
sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )


On Sun, Dec 9, 2018 at 7:05 AM Jinsong Zhao <jsz...@yeah.net> wrote:

> Hi there,
>
> In the following mini-example, I hope to keep the column names of mat, but
> failed.
>
> # mini-example
> > mat <- matrix(1:9, nrow = 3)
> > colnames(mat) <- paste("(", 1:3, ")", sep = "")
> > mat
>      (1) (2) (3)
> [1,]   1   4   7
> [2,]   2   5   8
> [3,]   3   6   9
> > data.frame(x = 1:3, mat)
>   x X.1. X.2. X.3.
> 1 1    1    4    7
> 2 2    2    5    8
> 3 3    3    6    9
>
> Any hints will be really appreciated.
>
> Best,
> Jinsong
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@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.
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to