我想从我的 ggplots 中排除一个观察/元组。我只想显示每个国家而不是世界总数

Posted

技术标签:

【中文标题】我想从我的 ggplots 中排除一个观察/元组。我只想显示每个国家而不是世界总数【英文标题】:I want to exclude an observation / tuple from my ggplots. I only want to show each country and not the world total 【发布时间】:2022-01-19 22:35:28 【问题描述】:
ggplot(trade,aes(x='',y=value,fill=factor(countries)))+
  geom_bar(width=1,stat='identity')+
  coord_polar(theta = 'y',start=0)+
  labs(title = 'Dairy products imported',y='Dollar amount in 1000\'s' )

我不希望世界部分显示在我的饼图上,但是我不希望 想要从我的数据框中完全删除它,因为它与我的其他图表相关。

样本数据

1                     World 2010 463000
2                    France 2010 145000
3               New Zealand 2010 191000
4  United States of America 2010 126000
5                   Denmark 2010      0
6                   Ireland 2010      0
7       Trinidad and Tobago 2010      0
8                     World 2011 525000
9                    France 2011 266000
10              New Zealand 2011 122000

【问题讨论】:

trade %>% filter(countries != "World") %>% ggplot(aes(x=... 您可以将其从您提供给此ggplot 的数据中删除,而无需在您的数据对象中“保存”(分配)删除。 【参考方案1】:

您需要filter() 输出国家/地区的观察结果。使用 dplyr,将其通过管道传输到您的 ggplot 调用中。

trade %>% 
  filter(countries != "World") %>% 
  ggplot(aes(x='',y=value,fill=factor(countries)))+
  geom_bar(width=1,stat='identity')+
  coord_polar(theta = 'y',start=0)+
  labs(title = 'Dairy products imported',y='Dollar amount in 1000\'s' )

基本的 R 版本是

ggplot(trade[trade$countries!="World",], aes(x='',y=value,fill=factor(countries)))+
  geom_bar(width=1,stat='identity')+
  coord_polar(theta = 'y',start=0)+
  labs(title = 'Dairy products imported',y='Dollar amount in 1000\'s' )

您只是使用!= 表示不等于的逻辑运算过滤/子集数据。

【讨论】:

以上是关于我想从我的 ggplots 中排除一个观察/元组。我只想显示每个国家而不是世界总数的主要内容,如果未能解决你的问题,请参考以下文章

Django ORM。如何排除旧数据?

我想创建自定义画廊,但我想从我的 wordpress 网站的 nextGen 画廊中获取照片?

我想从我的图像或 pdf 中获取特定数据

我想从我的 android 应用程序分享到 whatsapp 的链接 [重复]

从列表中删除元组删除了一些但不是全部

使用 jQuery 从表条带化中排除嵌套表