Lepidopteramazing
Lepidopteramazing

Reputation: 49

Using barplot to create a bar chart, error with unused arguments

I am trying to use the barplot command to create a bar graph showing the means from each column from the following table of data:

        Avg_number_1m Avg_number_2m Avg_number_3m Avg_number_4m
Tree_1           15.2          15.0          15.2          12.0
Tree_2           16.2          15.4          14.2          15.4
Tree_3           14.4           9.2           3.2           1.6
Tree_4           14.6           5.6          10.4           9.2
Tree_5           15.2          13.0           7.4           3.0
Tree_6           14.0          12.0          13.0          11.2
Tree_7           13.8           7.8           7.2           2.0
Tree_8           10.8           5.8           4.4           2.4
Tree_9           12.4           9.6           6.8           2.6
Tree_10          15.6          11.0           7.2           1.8
Tree_11           7.6           7.4           9.0           1.8
Tree_12          13.8           7.8           7.2           2.0
Tree_13          10.8           5.8           4.4           1.6
Tree_14          15.2          15.0          15.2          12.0
Tree_15          16.2          15.4          14.2          15.0
Tree_16          12.4           9.2           3.2           1.6
Tree_17          14.6           5.6          10.4           9.2
Tree_18          15.2          13.0           7.4           3.0
Tree_19          14.0          14.4          13.2          13.8
Tree_20          11.0           5.2           4.4           0.8

When I put in the code barplot(Holly[,2,3,4,5], names.arg=Holly[,1]) I get the error Error in [.data.frame(Holly, , 2, 3, 4, 5) : unused arguments (4, 5). What am I doing wrong? Any help is greatly appreciated.

Upvotes: 0

Views: 153

Answers (2)

Dimitrios Zacharatos
Dimitrios Zacharatos

Reputation: 850

Holly<-structure(list(
  Avg_number_1m=c(15.2,16.2,14.4,14.6,15.2,14,13.8,10.8,12.4,15.6,7.6,13.8,10.8,15.2,16.2,12.4,14.6,15.2,14,11),
  Avg_number_2m=c(15,15.4,9.2,5.6,13,12,7.8,5.8,9.6,11,7.4,7.8,5.8,15,15.4,9.2,5.6,13,14.4,5.2),
  Avg_number_3m=c(15.2,14.2,3.2,10.4,7.4,13,7.2,4.4,6.8,7.2,9,7.2,4.4,15.2,14.2,3.2,10.4,7.4,13.2,4.4),
  Avg_number_4m=c(12,15.4,1.6,9.2,3,11.2,2,2.4,2.6,1.8,1.8,2,1.6,12,15,1.6,9.2,3,13.8,0.8)),
  class="data.frame",
  row.names=c("Tree_1","Tree_2","Tree_3","Tree_4","Tree_5","Tree_6","Tree_7","Tree_8","Tree_9","Tree_10",
              "Tree_11","Tree_12","Tree_13","Tree_14","Tree_15","Tree_16","Tree_17","Tree_18","Tree_19","Tree_20"))

barplot(sapply(Holly,mean))

Upvotes: 0

Darren Tsai
Darren Tsai

Reputation: 35554

xbar <- colMeans(df)
pos <- barplot(xbar)
std <- apply(df, 2, sd)
par(xpd = TRUE)
arrows(pos, xbar - std, pos, xbar + std, length = 0.1, angle = 90, code = 3)

Data

df <- structure(list(
  Avg_number_1m = c(15.2, 16.2, 14.4, 14.6, 15.2, 14, 13.8, 10.8, 12.4, 15.6, 7.6, 13.8, 10.8, 15.2, 16.2, 12.4, 14.6, 15.2, 14, 11),
  Avg_number_2m = c(15, 15.4, 9.2, 5.6, 13, 12, 7.8, 5.8, 9.6, 11, 7.4, 7.8, 5.8, 15, 15.4, 9.2, 5.6, 13, 14.4, 5.2),
  Avg_number_3m = c(15.2, 14.2, 3.2, 10.4, 7.4, 13, 7.2, 4.4, 6.8, 7.2, 9, 7.2, 4.4, 15.2, 14.2, 3.2, 10.4, 7.4, 13.2, 4.4),
  Avg_number_4m = c(12, 15.4, 1.6, 9.2, 3, 11.2, 2, 2.4, 2.6, 1.8, 1.8, 2, 1.6, 12, 15, 1.6, 9.2, 3, 13.8, 0.8)
 ), class = "data.frame", row.names = c("Tree_1", "Tree_2", "Tree_3", "Tree_4", "Tree_5", "Tree_6", "Tree_7", "Tree_8", "Tree_9", "Tree_10",
  "Tree_11", "Tree_12", "Tree_13", "Tree_14", "Tree_15", "Tree_16", "Tree_17", "Tree_18", "Tree_19", "Tree_20"))

Upvotes: 1

Related Questions