‘hoogte’ moet een vector of een matrix zijn. barplot-fout

Ik probeer een eenvoudig staafdiagram te maken, maar ik krijg steeds de foutmelding

'height' must be a vector or a matrix

De barplot-functie die ik heb geprobeerd is

barplot(data, xlab="Percentage", ylab="Proportion")

Ik heb mijn csv ingevoerd en de gegevens zien er als volgt uit:

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
...

Waar ga ik hier de fout in?

Bij voorbaat dank!

BEWERKEN:

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")

en barplot(as.matrix(data))produceerden een grafiek met alle gegevens op één balk in plaats van elk stuk gegevens op een aparte balk.


Antwoord 1, autoriteit 100%

Je kunt de twee variabelen die je wilt plotten specificeren in plaats van het hele dataframe door te geven, zoals:

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")

U kunt ook gebruiken ggplotom dit te doen:

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


Antwoord 2, Autoriteit 15%

Waarschijnlijk is het hele dataframe-formaat verkeerd, hetzelfde gebeurde met mij, omdat ik de kolommen afzonderlijk heb toegevoegd en de dataframe samen maakte.

table.values = c(value1, value2,.......)
table = matrix(table.values,nrow=number of rows ,byrow = T)
colnames(table) = c("column1","column2",........)
row.names(table) = c("row1", "row2",............)
barplot(table, beside = T, xlab= "X-axis",ylab= "Y-axis")

Other episodes