R 条形图与非结构化数据

R 条形图与非结构化数据,r,visualization,graph-visualization,R,Visualization,Graph Visualization,我有按“国家”阅读新闻的简单数据,所以有两个变量。我想制作一个水平条形图,显示各国“阅读”新闻和“其他”答案的百分比。我应该先转换数据,还是有一个特殊的数据包用于条形图 我的数据如下所示: Country News UK Read UK Otherwise UK Read FR Read FR Otherwise FR Otherwise DE Read DE Read DE Read

我有按“国家”阅读新闻的简单数据,所以有两个变量。我想制作一个水平条形图,显示各国“阅读”新闻和“其他”答案的百分比。我应该先转换数据,还是有一个特殊的数据包用于条形图

我的数据如下所示:

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()
库(dplyr)
图书馆(tidyr)
df2%
按(国家、新闻)分组%>%
计数()%>%
完成(新闻,填充=列表(n=0))%>%
变异(百分比=n/总和(n)*100)
ggplot(df2,aes(新闻,百分比,填充=国家)+
geom_栏(状态='identity',位置='dodge')+
主题(bw)(+coord)翻转(flip)

OP要求提供一个水平条形图。顺便说一句,在回答时提供一个绘图图像会很有帮助。谢谢。完美的解决方案,谢谢!我还建议编辑条形图,制作条形图horizontal@user2510479谢谢你。你知道为什么有些国家获得了像1.0400这样没有边界的百分比吗在[0,1]中?