R中同一图上相同比例的两个y轴

问题描述 投票:0回答:1

我目前正在尝试重现一个如下所示的情节:

忽略右侧的刻度尺,图表上有两个y轴。 X是VIP分数,y标度由绝对回归系数的加权和确定,但是该标度不可见,并且在左侧y轴上看到质量。在这种情况下,质量是分类变量,它们匹配绝对回归系数的加权和的连续变量中的每个值。

我的问题是如何使用ggplot2或其他R包重现这个?使用ggrepel直接标记点不是一个选项,因为我的数据集中有太多的质量。有没有办法用两个y轴创建散点图但是第二个y轴是一个分类变量?

样本数据:

        Masses      Overall        VIP1      
1     82.07010  38.26669006 1.484957089
2     84.08570  34.22745192 1.328724766 
3     95.08570  38.65684978 1.500047945
4     96.08571  13.13685100 0.512968559
5     98.10140  36.07639404 1.400239372
6     99.04410  17.37079280 0.676731759
7    105.07530   9.38047849 0.367677099 
8    110.10130  36.66816959 1.423128458
9    111.10160  13.64197654 0.532506138
10   113.06040  10.09391101 0.395271714
r ggplot2 statistics
1个回答
0
投票

这看起来很糟糕,但这正是你所要求的。调用您的数据dd

ggplot(dd, aes(x = VIP1, y = Overall)) +
    geom_point() +
    scale_y_continuous(breaks = dd$Overall, labels = dd$Masses)

enter image description here

我们使用scale_y_continuous,因为你想要定义y轴位置的变量Overall是连续的。


使用此数据:

dd = read.table(text = "        Masses      Overall        VIP1      
1     82.07010  38.26669006 1.484957089
2     84.08570  34.22745192 1.328724766 
3     95.08570  38.65684978 1.500047945
4     96.08571  13.13685100 0.512968559
5     98.10140  36.07639404 1.400239372
6     99.04410  17.37079280 0.676731759
7    105.07530   9.38047849 0.367677099 
8    110.10130  36.66816959 1.423128458
9    111.10160  13.64197654 0.532506138
10   113.06040  10.09391101 0.395271714", header = TRUE)
© www.soinside.com 2019 - 2024. All rights reserved.