library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2) 
library(viridis) 
## Loading required package: viridisLite
library(ggthemes)
library(tidyr)

dta <-read.csv("C:/tmp/Economist_women-research.csv",sep=",", header = T, stringsAsFactors = FALSE)
##依順序命名
names(dta)<-c("Country","Health Sciences","Physical Sciences","Engineering","CS and Math","Women Inventores")
##結合兩欄語法
dta <- gather(dta, subject, percentage, 2:6)
##查看資料
head(dta)
##          Country         subject      percentage
## 1        Country Health Sciences Health sciences
## 2          Japan Health Sciences            0.24
## 3          Chile Health Sciences            0.43
## 4 United Kingdom Health Sciences            0.45
## 5  United States Health Sciences            0.46
## 6         Mexico Health Sciences            0.46
p0 <- ggplot(data=dta, 
             aes(x=percentage,y=Country))+
  geom_point()+
  geom_segment(aes(xend = 0.1, yend = Country)) +
  facet_wrap(. ~ reorder(subject,percentage), nrow = 1) +##reorder重新命名
  ggtitle("Still a man's world") 
p0
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

##各國不同學科不相同