从R中的矩阵中删除索引

时间:2012-09-13 15:18:11

标签: r

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

       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"

它不适用于条形图功能。我想我需要删除索引列,但一直无法。引号是什么?我虽然矩阵是一个矩阵,所以我不确定这里发生了什么。

1 个答案:

答案 0 :(得分:2)

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

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

#To add the row.names.

row.names(m) <- df[, 1]