下面的数据框称为中位数。价格
postcode medianprice
1 NG1 1127.0
2 NG2 900.0
3 NG3 975.0
4 NG4 750.0
5 NG5 650.0
6 NG6 650.0
7 NG7 1027.0
8 NG8 695.0
9 NG9 762.5
10 NG10 650.0
11 NG11 795.0
12 NG12 1197.5
13 NG14 775.0
14 NG15 575.0
15 NG16 600.0
这是通过以下方式实现的:
postcode <- c('NG1', 'NG2', 'NG3', 'NG4','NG5', 'NG6', 'NG7','NG8', 'NG9', 'NG10','NG11', 'NG12','NG14','NG15','NG16')
medianprice <- c(median(NG1$Price), median(NG2$Price), median(NG3$Price),
median(NG4$Price),median(NG5$Price), median(NG6$Price), median(NG7$Price),
median(NG8$Price), median(NG9$Price), median(NG10$Price),
median(NG11$Price), median(NG12$Price), median(NG14$Price),
median(NG15$Price), median(NG16$Price))
median.price <- data.frame(postcode, medianprice)
mpbarplot <- (table(median.price))
barplot(median.price)
返回“'height'必须是向量或矩阵”
和
barplot(mpbarplot)
以堆叠的频率条形图返回。
答案 0 :(得分:1)
barplot()
接受一个向量,而中值。价格作为data.frame。因此,您需要提供要绘制的特定列和要绘制的名称列,如下所示:
您的数据:
median.price=
structure(list(postcode = structure(c(1L, 8L, 9L, 10L, 11L, 12L,
13L, 14L, 15L, 2L, 3L, 4L, 5L, 6L, 7L), .Label = c("NG1", "NG10",
"NG11", "NG12", "NG14", "NG15", "NG16", "NG2", "NG3", "NG4",
"NG5", "NG6", "NG7", "NG8", "NG9"), class = "factor"), medianprice = c(1127,
900, 975, 750, 650, 650, 1027, 695, 762.5, 650, 795, 1197.5,
775, 575, 600)), class = "data.frame", row.names = c("1", "2",
"3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14",
"15"))
这样做:
with(median.price,barplot(medianprice,names.arg=postcode,las=2,cex.axis=0.7))
答案 1 :(得分:1)