Настройка вывода метки корреляции Спирмена из stat_cor в R - PullRequest
1 голос
/ 04 мая 2020

Я строю большое количество корреляционных анализов Спирмена в R. Я хочу включить метку значения R в график, но я не хочу включать значение p. Размеры выборки для моих реальных графиков все большие, поэтому все значения p малы, и их включение не добавляет ничего полезного для графика. После создания отдельных графиков я использую gridExtra::grid.arrange для объединения графиков, и мешает дополнительная длина метки (чище включить информацию за пределы самого графика).

Я видел способы изменения размера и положения этикетки, но не нашел ничего, что ограничивало бы или регулировало вывод содержимого этикетки. Можно ли отбросить значение p из графика в stat_cor, но оставить R? Есть ли другой пакет, который позволил бы больше настроек?

testplot

Вот базовый c код, который я использую для построения графика.

df %>% 
ggscatter(x = "Diameter", y = "Depth", 
            add = "reg.line", conf.int = TRUE,
            title = "test",
            xlab = "Diameter (m)", ylab = "Depth (m)",
            shape = 21, fill = "lightgray", color = "black", size = 3) +
  stat_cor(method = "spearman", label.x = 0.45, label.y = 1.2) +
  coord_cartesian(ylim = c(0,1.25), xlim = c(0,0.7)) +
  theme_minimal()

Здесь в основном та же самая установка с использованием набора данных iris.

enter image description here

ggscatter(data = iris,x = "Sepal.Length", y = "Sepal.Width", 
                     add = "reg.line", conf.int = TRUE,
                     title = "Iris test",
                     xlab = "Length", ylab = "Width",
                     shape = 21, fill = "lightgray", color = "black", size = 3) +
  stat_cor(method = "spearman") +
  theme_minimal()

1 Ответ

1 голос
/ 04 мая 2020

Нашел несколько подсказок из этой проблемы с github: https://github.com/kassambara/ggpubr/issues/32 А затем поэкспериментировал с объектом ggplot, чтобы увидеть все различные создаваемые атрибуты.

ggscatter(data = iris,x = "Sepal.Length", y = "Sepal.Width", 
          add = "reg.line", conf.int = TRUE,
          title = "Iris test",
          xlab = "Length", ylab = "Width",
          shape = 21, fill = "lightgray", color = "black", size = 3)+
  stat_cor(r.digits = 2, method = "spearman",
           aes(label = paste("'R = '", ..r.., sep = " "))
  )

enter image description here

...