Две оси Y в одном масштабе на одном графике в R - PullRequest
0 голосов
/ 16 мая 2018

В настоящее время я пытаюсь воспроизвести график, который выглядит следующим образом: VIP vales vs. weighted sum of absolute regression coefficients vs masses

Игнорируя градуированные шкалы на правой стороне, на графике есть две оси 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

1 Ответ

0 голосов
/ 17 мая 2018

Это кажется ужасным, но это то, что вы просите.Вызов ваших данных 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...