繁体   English   中英

ggparty 节点图中的分组百分比

Groupwise percentage in ggparty node plots

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在与 ggparty 合作,并尝试在partykit plot(使用 geom_node_plot)的每个终端节点处自定义条形图。 我希望某些条形(及其标签)的长度显示总预测案例的比例——其中该百分比中的分母仅来自该节点的案例,而不是整个数据集。

(这在 ggplot2 中是一个很常见的问题,但这里的困难是特定于在 ggparty 内部工作的。)

require(ggplot2)
require(partykit)
require(ggparty)
    
data("WeatherPlay", package = "partykit")
wptree <- ctree(play ~ outlook, data=WeatherPlay, control = ctree_control(minsplit=1, minbucket=1, mincriterion = .01))
    
ggparty(wptree) +
      geom_edge() +
      geom_edge_label() +
      geom_node_splitvar() +
      geom_node_plot(gglist = list(
        aes(
          y = play,
          x = after_stat(count / sum(count))
        ),
        geom_bar()
      ))

ggparty的小插图指出每个节点 plot 是“独立的”,这表明数据是隔离的,但这似乎不适用于count ,因为如您所见,百分比是数据集中所有数据的一部分。

我知道一个稍微替代的方法是使用prop而不是count / sum(count) ,这允许“by”参数指定分组。 这似乎很理想——但是这里可用的分组变量是什么,它将隔离节点? 派对 nodeid 似乎不在每个 geom_bar 调用的环境中。

任何自定义的分组计算,例如使用 lapply,也需要使用一个变量,指定终端节点,或者以其他方式区分图——所以这似乎是关键问题。

感谢您的任何指导。

1 个回复

据我所知,节点的条被添加为多面 plot。 要按面板获取百分比,您基本上可以使用与标准 ggplot 相同的方法,即正如您已经猜到的,您必须考虑可以从PANEL获得的面板的分组:

library(ggparty)

data("WeatherPlay", package = "partykit")
wptree <- ctree(play ~ outlook, data=WeatherPlay, control = ctree_control(minsplit=1, minbucket=1, mincriterion = .01))

panel_prop <- function(count, panel) {
  count / tapply(count, panel, sum)[as.character(panel)]
}

ggparty(wptree) +
  geom_edge() +
  geom_edge_label() +
  geom_node_splitvar() +
  geom_node_plot(gglist = list(
    aes(
      y = play,
      x = after_stat(panel_prop(count, PANEL))
    ),
    geom_bar()
  ))

1 熊猫分组百分比

如何计算大熊猫的分组百分比? 类似于Pandas:.groupby()。size()和百分比,或者Pandas非常简单来自Group by的总大小的百分比,我想计算每个组中某个值的百分比。 我该如何实现? 我的数据集的结构像 最初,我在ClassLbel和Field上都 ...

3 使用 matplotlib 的标准化和百分比图

我目前使用的数据集显示了客户及其类。 我正在使用 matplotlib 到 plot 频率条形图: 但是我想使用归一化的 plot 和 y 轴上的百分比值来可视化结果。 对于百分比值,我一直在尝试使用 mtick。 对于标准化的 plot,我发现了很多带有堆叠图和使用 seaborn 的示例。 我想 ...

4 分组最大值

我有一张表,我试图检索每个安全的最新位置: 桌子: 我创建表的查询: SELECT id, security, buy_date FROM positions WHERE client_id = 4 我一直在搞乱基于这个页面的查询版本,但我似乎无法得到我正在寻找的结果。 ...

2013-03-04 21:27:56 5 4354   mysql/ sql
5 分组过滤

对于每个 ID,我都有不同的日期,我喜欢在特定日期之后过滤掉每个观察结果。 在此示例中,我想删除“2020-04-02”之后的 ID 1 和“2020-04-03”之后的 ID 2 的所有观察。 这些特定日期不包含在我的数据集中。 因此,我需要一个可以手动输入它们的解决方案。 例: 预期 outpu ...

2021-04-20 10:39:34 2 32   r
8 如何使用 ggplot2 在 R 中创建图来绘制百分比堆积条形图? [复制]

这个问题在这里已经有了答案: 为多个变量制作堆叠条 plot - R 中的 ggplot2 (3 个答案) 5 个月前关闭。 这是我的数据框: 我想要百分比堆积条形图,y 是运输方式,x 是频率。 在每个条中,通过使用不同的颜色来区分距离的不同。 谢谢! ...

2021-04-27 01:05:39 1 22   r
9 Node JS控制台写入百分比

我需要与其他行同时写在同一行中。 我得到的是: 我需要的: 我更喜欢没有任何模块。 这里有各种各样的话题在讨论这一点,但是没有一个可以解释如何做。 我想我第一次写该行时需要保存光标位置,然后在下次写该行时,必须将光标移到保存的行上吗? ...

10 在比例条形图中将标签添加到 plot 或百分比到图例 ggplot 2

我有以下 plot 来自 ggplot2 比例癌症条形图: 正如你所看到的,条上的哪些点代表哪种癌症还不是很清楚。 它是使用以下代码创建的: var1 只是“c(group1,group2)”的因子向量,而 var2 是他们患有的癌症。 我很抱歉没有提供示例数据,但我不确定如何在不暴露患者信息 ...

2022-02-03 15:34:56 0 23   r/ ggplot2
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM