R ggplot中的reorder()函数出错,找不到对象



这正是我得到的错误-重新排序时出错(国家/地区,Average_literacy_rate,平均值(:找不到对象"Country"此外:警告消息:尝试使用group_by((进行计算,但计算失败。正在返回到未分组的筛选器操作。。。

代码如下&第一个块,即直到summary函数工作正常,所以问题在于aes(reorder(((行&作为R的新手,我想不通。请帮忙。

literacy_data <- read_csv("Literacy rates - Sheet1.csv")
library(stringr)
d <- str_replace(literacy_data$`Literacy rate`, pattern="%", "")
literacy_data$`Literacy rate` <- as.numeric(d)/100
literacy_data %>% 
filter(Gender=="female") %>%
group_by(Country) %>%
filter(max(Year)==2018 & n_distinct(Year)>=5, mean(literacy_data$'Literacy rate'[Year==2018],na.rm = T)>mean(literacy_data$'Literacy rate'[Year!=2018],na.rm = T)) %>%
group_by(Country,Year) %>% 
summarise(Average_literacy_rate = mean(literacy_data$'Literacy rate',na.rm = T), .groups = 'drop')
ggplot(literacy_data,aes(reorder(Country, Average_literacy_rate, mean), Average_literacy_rate, color=as.factor(Year)))+
geom_point(size=9,alpha=0.4)+
coord_flip()+
gghighlight(Year==2018)+
scale_y_percent()+
scale_color_manual(values = c("2018"="firebrick"))+
theme_minimal()+
labs(x=NULL,y=NULL,title = "Countries that had peak average literacy rate in <span  style='color:firebrick'>**2018**</span>",
color=NULL)+
theme_ipsum_ps()+
theme(plot.title = element_markdown(size=20,margin = margin(b = 10)))

数据集在-dataset上可用

您的sintax出现错误。。。

literacy_data <- literacy_data %>%
filter(Gender=="female") %>%

删除结束行总结中的%>%。。。。

更改:

ggplot(aes(reorder(Country, Average_literacy_rate, mean),
Average_literacy_rate, color=as.factor(Year)))+
geom_point(size=9,alpha=0.4) ...

通过

ggplot(literacy_data, aes(reorder(Country, Average_literacy_rate, mean), 
Average_literacy_rate, color=as.factor(Year)))+
geom_point(size=9,alpha=0.4)

在aes之前,您必须通知数据帧名称

相关内容

最新更新