web-dev-qa-db-ja.com

'height'はベクトルまたは行列でなければなりません。バープロットエラー

単純な棒グラフを作成しようとしていますが、エラーメッセージが表示され続けます

_'height' must be a vector or a matrix
_

私が試しているバープロット関数は

_barplot(data, xlab="Percentage", ylab="Proportion")
_

私はcsvを入力しました、そしてデータは次のようになります:

_34.88372093 0.00029997
35.07751938 0.00019998
35.27131783 0.00029997
35.46511628 0.00029997
35.65891473 0.00069993
35.85271318 0.00069993
36.04651163 0.00049995
36.24031008 0.0009999
36.43410853 0.00189981
...
_

ここでどこがいけないのですか?

前もって感謝します!

編集:

_dput(head(data)) outputs:
structure(list(V1 = c(34.88372093, 35.07751938, 35.27131783, 
35.46511628, 35.65891473, 35.85271318), V2 = c(0.00029997, 0.00019998, 
0.00029997, 0.00029997, 0.00069993, 0.00069993)), .Names = c("V1", 
"V2"), row.names = c(NA, 6L), class = "data.frame")
_

およびbarplot(as.matrix(data))は、各データが個別のバーにあるのではなく、すべてのデータが1つのバーのグラフを生成しました。

11
user2941526

次のように、データフレーム全体を渡すのではなく、プロットする2つの変数を指定できます。

data <- structure(list(V1 = c(34.88372093, 35.07751938, 35.27131783, 35.46511628, 35.65891473, 35.85271318), 
                       V2 = c(0.00029997, 0.00019998, 0.00029997, 0.00029997, 0.00069993, 0.00069993)), 
                  .Names = c("V1", "V2"), row.names = c(NA, 6L), class = "data.frame")

barplot(data$V2, data$V1, xlab="Percentage", ylab="Proportion")

base r graphics version

または、ggplotを使用してこれを行うことができます。

library(ggplot2)
ggplot(data, aes(x=V1, y=V2)) + geom_bar(stat="identity") + 
  labs(x="Percentage", y="Proportion")

ggplot version

8
Andrew