1

我正在尝试制作一个条形图,我需要矩阵中的数据。当我的矩阵看起来像这样时,我已经制作了一些非常好的图:

       0%   20%   40%   60%  80%
C2   0.22  0.94  1.66  2.38 3.10
CC  -1.38 -0.66  0.06  0.79 1.51
CCW -1.61 -0.87 -0.13  0.62 1.36
P   -1.13 -0.16  0.81  1.78 2.76
PF   0.03  0.72  1.42  2.11 2.80
S2  -2.34 -1.61 -0.88 -0.16 0.57

对于我的其余数据,我必须将其从我使用 as.matrix(df) 的数据帧转换。这个矩阵看起来像这样:

     trt   2009     2010      2011     
[1,] "C2"  "9.0525" " 8.1400" " 8.1400"
[2,] "CC"  "5.4200" " 4.7975" " 4.7975"
[3,] "CCW" "4.9675" " 4.0400" " 4.0400"
[4,] "P"   "9.3150" "10.3500" "10.3500"
[5,] "PF"  "9.0950" " 3.3375" " 3.3375"
[6,] "S2"  "3.1725" " 3.1125" " 3.1125"

它不适用于 barplot 函数。我想我需要删除索引列,但一直没能。引号是什么?我虽然矩阵是矩阵,所以我不确定这里发生了什么。

4

1 回答 1

2

引号表示您matrix处于 mode character。这是因为matrix,与data.frame表面上相似的相反,只能容纳一种类型。因为字母数字字符无法转换为数字,所以您的矩阵处于 mode character。在将第一列转换为之前,我会更容易将其删除,matrix并省去将矩阵转换为numeric.

m <- as.matrix(df[, -1])

#To add the row.names.

row.names(m) <- df[, 1]
于 2012-09-13T15:25:50.613 回答