这正是我得到的错误-重新排序时出错(国家/地区,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之前,您必须通知数据帧名称