medals <- c(rep("United States",121), rep("China",70),rep("Great Britain",67), rep("Russia",56), rep("Germany",42), rep("France",42), rep("Japan",41 ), rep("Australia",29), rep("Italy",28), rep("Canada",22))
barplot(medals, names.arg=c("USA", "CHN", "GBR", "RUS", "GER","FRA","JPN","AUS","ITA","CAN"), main = "Top 10 Medal Winning Countries from the Rio 2016 Olympics", xlab = "Countries", ylab="Total Medals Won", cex.names=0.95)
这两行代码给出了这个错误“-0.01 * height中的错误:二元运算符的非数字参数”
我第一次尝试使用R
答案 0 :(得分:1)
请注意barplot
需要一个数字height
参数,而不是字符列表。
试
plot(factor(medals))
这会让你成为一个条形图(一旦你有一个因素它默认为一个条形图并提供正确的信息)。你应该能够从那里进一步操纵。
事实上,如果您调查plot.factor
所做的事情(graphics:::plot.factor
),则会调用barplot(table(x),...
(其中x
是plot.factor
的因子参数) - 那& #39;另一种可能的途径。
您应该调查/了解因素,它们是R如何处理分类变量的重要部分。请参阅?factor
。
如果您想直接致电barplot
,请向其提供相对条形高度(即计数)。一种方法是
barplot(summary(factor(medals)))
(或者使用前面提到的table
而不是summary
),然后您可以按照之前的设置设置名称