Hello,

cbind alone will return a matrix, cbind.data.frame is probably what the OP wants.

class(cbind(x = 1:3, mat))
#[1] "matrix"

cbind.data.frame(x = 1:3, mat)
#  x (1) (2) (3)
#1 1   1   4   7
#2 2   2   5   8
#3 3   3   6   9


Hope this helps,

Rui Barradas


Às 15:11 de 09/12/2018, Michael Dewey escreveu:
Dear Jinsong

Try cbind(x = 1:3, mat)
and see if that helps

Michael

On 09/12/2018 15:05, Jinsong Zhao 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.



______________________________________________
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