опции в пакете R ggplot2 a. (показывать значения по оси x, переданные через aes ()), b. (регрессионное уравнение в правом верхнем углу)?

#r #ggplot2 #plot #regression

#r #ggplot2 #график #регрессия

Вопрос:

Я сгенерировал следующий график регрессии

Обратитесь к приведенной здесь привязке, которую я в настоящее время

с помощью кода

 ggplot(data, aes(x=EDUCLVL , y=CUMDOSE))  
    geom_point()  
    geom_smooth(method="lm", col="black")  
    stat_regline_equation()  
    theme_bw()
  

Мне нужна помощь в двух аспектах.

  1. По моей оси x у меня значения 5,6,10,11,12,15,16,17,18,20,21,22,23,24,25.Я хотел бы показать все значения по оси x, но R принимает только 5 значений случайным образом с промежутком в 5, любой вариант для получения всех значений каким-либо образом (независимо от четкости или размера).
  2. Уравнение регрессии отображается в верхнем левом углу, я хотел бы разместить его в верхнем правом углу, есть ли какой-либо доступный вариант для определения уравнения на стороне выбора?

Ответ №1:

Вы не опубликовали свои данные, но вот решение, с помощью mtcars которого вы можете настроить под свои нужды.:

 ggplot(mtcars, aes(x=mpg , y=cyl))  
  geom_point()  
  geom_smooth(method="lm", col="black")  
  scale_x_continuous(breaks = round(seq(min(mtcars$mpg), max(mtcars$mpg), by = 2),1))  
  stat_regline_equation(label.x = 28, label.y = 9)  
  theme_bw()
  

ggplot-вывод

Ответ №2:

Вот другой подход. Он устанавливает разрывы по оси x для конкретных уникальных значений в EDUCLVL . Параметры label.x.npc и label.y.npc устанавливают относительное положение уравнения вдоль каждой оси, где 0 для нижнего / левого и 1 для верхнего / правого. Эти параметры также принимают символьные значения, такие как «top» и «centre».

 ggplot(data, aes(x=EDUCLVL , y=CUMDOSE))  
  geom_point()  
  geom_smooth(method="lm", col="black")  
  scale_x_continuous(breaks = unique(sort(data$EDUCLVL)))   
  stat_regline_equation(label.x.npc = 0.8, label.y.npc =  1)  
  theme_bw()