R 在ggplot2中对分组条进行排序时出错

R 在ggplot2中对分组条进行排序时出错,r,ggplot2,R,Ggplot2,我的数据采用长格式(根据分组条形图的要求),因此不同类别的值位于一列中。数据是 现在,带有ggplot2的标准条形图按字母顺序排列条形图(以我的国家名称为例,从阿根廷到乌干达)。我想保持数据框中的国家顺序。使用该建议(即在scale\u x\u discrete函数中使用limits=选项),我得到以下图表: 我的代码是: mydata <- read_excel("WDR2016Fig215.xls", col_names = TRUE) y <- mydata$value

我的数据采用长格式(根据分组条形图的要求),因此不同类别的值位于一列中。数据是

现在,带有ggplot2的标准条形图按字母顺序排列条形图(以我的国家名称为例,从阿根廷到乌干达)。我想保持数据框中的国家顺序。使用该建议(即在
scale\u x\u discrete
函数中使用
limits=
选项),我得到以下图表:

我的代码是:

mydata <- read_excel("WDR2016Fig215.xls", col_names = TRUE) 

y <- mydata$value
x <- mydata$country
z <- mydata$Skill

ggplot(data=mydata, aes(x=x, y=y, fill=z)) + 
            geom_bar(stat="identity", position=position_dodge(), colour="black") + 
            scale_x_discrete(limits=x) 
mydata这是什么


mydata$country尝试将
x
转换为整数,
x=as.integer(x)
。而
geom\u col
stat=“identity”
的便捷快捷方式!解释是什么?我将mydata$country factor级别重新排序为所需的顺序。有关重新排序因子级别,请检查此处和此处
mydata$country <- factor(mydata$country, levels=unique(mydata$country)[1:30])
ggplot(data=mydata, aes(x=country, y=value, fill=Skill)) + 
  geom_bar(stat="identity", position=position_dodge(), colour="black")