如何在创建条形图时处理错误“'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))
输出
如果将以上所有代码片段作为单个程序执行,则会生成以下输出:
广告