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


在创建条形图时出现错误“'height'必须是向量或矩阵”是因为我们提供了数据框名称而不是列名称,或者使用 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))

输出

如果将以上所有代码片段作为单个程序执行,则会生成以下输出:

更新于: 2021年11月3日

3K+ 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告