R将行标签转换为列

时间:2014-01-15 13:43:47

标签: r matrix dataframe

使用R我已经传递了(来自另一个程序员,其代码我无法触及)一个数字矩阵,其中标有列和行名称。像这样:

       Height    Width
Chair     25       26
Desk      18       48

我想将此数据从上面的矩阵转换为以下格式的数据框:

            Height   Width
[1,] Chair     25      26 
[2,] Desk      18      48

第一列名称是('')。我不提前知道Row名称,我无法更改原始代码。如何使用R?

简单有效地转换它

换句话说,我只想将行名称放入数据集中。

2 个答案:

答案 0 :(得分:2)

M <- matrix(c(25,18,26,48), 2)
rownames(M) <- c("Chair", "Desk")
colnames(M) <- c("Height", "Width")

DF <- data.frame(furniture=rownames(M), M)
rownames(DF) <- NULL
#   furniture Height Width
# 1     Chair     25    26
# 2      Desk     18    48 

答案 1 :(得分:1)

嗨,我认为这样做你想要的:

mat <- matrix(c(25, 18, 26, 48), nrow = 2, dimnames = list(c("Chair", "Desk"), c("Height", "Width")))

 df <- data.frame(row.names(mat), mat, row.names = NULL)

> df
 row.names.mat. Height Width
1          Chair     25    26
2           Desk     18    48