当我们提供数据框名称而不是列名称或使用 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))输出结果
如果您将上述所有片段作为单个程序执行,它会生成以下输出 -