创建条形图时如何处理错误“高度”必须是向量或矩阵?

当我们提供数据框名称而不是列名称或使用 as.matrix 读取它时,会在创建条形图时出现错误“高度”必须是向量或矩阵。如果我们想为数据框中的列创建条形图,则需要将数据框读取为矩阵。

例如,如果我们有一个名为 df 的数据框,那么我们可以使用下面给出的命令在 df 中创建列的条形图 -

barplot(as.matrix(df))

示例

以下代码段创建了一个示例数据框 -

df<-data.frame(x=rpois(20,2),y=rpois(20,5))
df

创建以下数据框

    x y
1  2 10
2  2 3
3  1 6
4  2 6
5  4 4
6  2 5
7  3 4
8  2 4
9  2 9
10 3 5
11 3 4
12 2 2
13 1 4
14 2 6
15 1 8
16 2 2
17 4 1
18 1 5
19 4 4
20 2 9

要在上面创建的数据框中创建带有数据框名称的条形图,请将以下代码添加到上面的代码片段中 -

df<-data.frame(x=rpois(20,2),y=rpois(20,5))
barplot(df)
Error in barplot.default(df) : 'height' must be a vector or a matrix

创建条形图的正确方法如下 -

df<-data.frame(x=rpois(20,2),y=rpois(20,5))
barplot(as.matrix(df))
输出结果

如果您将上述所有片段作为单个程序执行,它会生成以下输出 -

猜你喜欢