【问题标题】:Plot Line Chart of Binary Variable Against Continuous Data绘制二元变量与连续数据的折线图
【发布时间】:2018-03-27 16:22:33
【问题描述】:

我正在寻找一种方法来帮助更好地可视化独立连续变量和二元响应变量之间的关系。

我试图了解如何在下面的现有绘图中添加第二个 y 轴。我想直观地了解不同数值范围内的响应率。

  1. 如何在任何给定的直方图 bin 中添加响应百分比?例如,如果一个 bin 中有 10 个观察值并且 2 个是正类,那么这将显示 20% 的响应。
  2. 理想情况下,这可能是动态的,因为我可能会更改垃圾箱的数量。例如,我这里有 10 个,下次我可能想要 20 个。
  3. 这将是一个连接的折线图,在右侧 y 轴上带有来自 #1 的相应百分比。

或者换句话说,我希望将正类的折线图显示为折线图,并在 Y 轴上显示百分比。

library(mlbench)
library(tidyverse)
data(Sonar)   ## from mlbench
library(ggplot2)

ggplot(Sonar, aes(x=V11, fill=Class)) +
  geom_histogram(col='black', bins = 10) +
  scale_fill_manual(values=c("purple", "green"))  +
  labs(title = "Count Left Y Axis; 'R' class percent of BIN in Right Y Axis" ,
       x = 'Variable Value in this case V33', y ='Count of Observations' )

【问题讨论】:

    标签: r plot ggplot2 histogram


    【解决方案1】:

    不确定这是否是您所追求的,但您给出的描述听起来与条件密度图非常相似。

    ggplot 可能有一个替代方案,但使用基础 R:

    cdplot(Class ~ V1, Sonar, col=c("cornflowerblue", "orange"), main="Conditional density plot")
    

    结果:

    【讨论】:

    • 是的,很抱歉,我最终试图绘制连续响应与分类(二进制)响应。我想看到这个响应在各种数值范围内的积极百分比。这符合该想法并且很有帮助,但我希望能够以更清晰的方式查看在 V1 的任何给定数值范围内“R”的实际百分比。了解 V1 的分布或此图所掩盖的 V1 的频率也很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 2020-10-24
    • 1970-01-01
    • 2020-09-04
    相关资源
    最近更新 更多