【发布时间】:2016-09-25 15:27:28
【问题描述】:
我想要实现的与这里已经问过的完全一样(特别是使用 R 的基本图形,而不是像 ggplot 或 lattice 这样的包):Ordering bars in barplot()
但是,那里提出的解决方案似乎对我不起作用。我需要的是以下内容。假设我有这个:
num <- c(1, 8, 4, 3, 6, 7, 5, 2, 11, 3)
cat <- c(letters[1:length(num)])
data <- data.frame(num, cat)
如果我使用barplot(data$num) 生成条形图,我会得到以下结果:
现在,我想根据data$cat 重新排列条形图。按照我上面提到的链接,我尝试了接受的答案,但得到了一个错误:
num2 <- factor(num, labels = as.character(cat))
Error in factor(num, labels = as.character(cat)) : invalid 'labels'; length 10 should be 1 or 9
然后我也尝试了另一个答案:
num <- as.factor(num)
barplot(table(num))
但这是我得到的:
所以,在我的这个特殊情况下,与那个问题略有不同,我应该如何订购条形图,以便条形由data$num 定义但根据data$cat 排序?
【问题讨论】: