条形图和非结构化数据

Bar Chart and Unstructured Data

我有关于通过 "Country" 阅读新闻的简单数据,所以有两个变量。我想制作一个水平条形图,按国家/地区显示 "Read" 新闻和 "Otherwise" 答案的百分比。我应该先转换数据还是有一个特殊的条形图包来处理这种数据?

我的数据是这样的:

Country  News
UK       Read
UK       Otherwise
UK       Read
FR       Read
FR       Otherwise
FR       Otherwise
DE       Read
DE       Read
DE       Read
DK       Read
DK       Read
DK       Otherwise

设原始数据框为df

library(dplyr)
library(tidyr)

df2 <- df %>% 
   group_by(Country, News) %>% 
   tally() %>% 
   complete(News, fill = list(n = 0)) %>% 
   mutate(Percentage = n / sum(n) * 100)


ggplot(df2, aes(News, Percentage, fill = Country) + 
   geom_bar(stat = 'identity', position = 'dodge') +
   theme_bw()+coord_flip()