使用R我已经传递了(来自另一个程序员,其代码我无法触及)一个数字矩阵,其中标有列和行名称。像这样:
Height Width
Chair 25 26
Desk 18 48
我想将此数据从上面的矩阵转换为以下格式的数据框:
Height Width
[1,] Chair 25 26
[2,] Desk 18 48
第一列名称是('')。我不提前知道Row名称,我无法更改原始代码。如何使用R?
简单有效地转换它换句话说,我只想将行名称放入数据集中。
答案 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