Create dataframe from a matrix

前端 未结 5 1441
孤城傲影
孤城傲影 2020-12-07 18:54

How to get a data frame with the same data as an already existing matrix has?

A simplified example of my matrix:

mat <- matrix(c(0, 0.5, 1, 0.1, 0         


        
5条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-07 19:31

    If you change your time column into row names, then you can use as.data.frame(as.table(mat)) for simple cases like this.

    Example:

    data <- c(0.1, 0.2, 0.3, 0.3, 0.4, 0.5)
    dimnames <- list(time=c(0, 0.5, 1), name=c("C_0", "C_1"))
    mat <- matrix(data, ncol=2, nrow=3, dimnames=dimnames)
    as.data.frame(as.table(mat))
      time name Freq
    1    0  C_0  0.1
    2  0.5  C_0  0.2
    3    1  C_0  0.3
    4    0  C_1  0.3
    5  0.5  C_1  0.4
    6    1  C_1  0.5
    

    In this case time and name are both factors. You may want to convert time back to numeric, or it may not matter.

提交回复
热议问题