Effect Plot R - Ввод точек данных в эффект Plot - PullRequest
0 голосов
/ 23 января 2020

текущий график эффекта смотрите в R

Всем: я пытаюсь понять, есть ли способ развить мои графики эффекта дальше. Мне было интересно, есть ли способ получить точки данных, используемые для создания графиков эффекта на самом графике эффекта, так что это похоже на диаграмму рассеяния.

Я использую пакеты: (ggplot2) , (stargazer), (эффекты), (gridExtra), (plyr)

Используемый код:

setwd("F:/Sussex PhD/data/constresult19")
my_gen <- read.csv("genhis.csv") #data set name

#linear models
const.qualsvc <- lm(Conpv1019 ~ + Noqual19 + Alevel19 + Degplus19 + Const5ac + Gdschlsrate + FSMKS2 + FSMAlevel, data = my_gen)
const.qualsvl <- lm(Conpv1019 ~ + Noqual19 + Alevel19 + Degplus19 + Const5ac + Gdschlsrate + FSMKS2 + FSMAlevel, data = my_gen)
stargazer(const.qualsvc, const.qualsvl, type = "text")

#effect plots
eddeg.cona <- effect(term = "Degplus19", mod = const.qualsvc)
eddeg.cona <- plot(eddeg.cona, ylim=c(-20,30), xlab = "Percent Degree Qualification Plus", ylab = "Percentage Change in Con vote 2010-19", main="Effect of Degrees on Change in Con % Vote", col.line = "blue")
eddeg.laba <- effect(term = "Degplus19", mod = const.qualsvl)
eddeg.laba <- plot(eddeg.laba, ylim=c(-20,35), xlab = "Percent Degree Qualification Plus", ylab = "Percentage Change in Lab vote 2010-19", main="Effect of Degrees on Change in Lab % Vote",col.line = "red")`

grid.arrange(eddeg.cona, eddeg.laba, ncol=2)`#effect plots side by side

С уважением, Джеймс Прентис (Только довольно базовый пользователь c уровня R)

1 Ответ

0 голосов
/ 23 января 2020

Добро пожаловать на SO. Я никогда не использовал пакет effects, но похоже, что вы можете извлечь элементы, используемые для построения подгонки и доверительных интервалов, из объекта, созданного effect(). Не видя ваших данных, я не могу дать гораздо больше советов, чем этот минимальный воспроизводимый пример. Дайте мне знать, если у вас есть какие-либо вопросы.

library(ggplot2)
library(effects)

mpg.model <- lm(data = mtcars, mpg ~ wt + cyl) 

wt.eff <- effect(term = "wt", mod = mpg.model)

mpg.model.plot.data <- data.frame(
  wt.eff$x,
  eff.lower = wt.eff$lower,
  eff.upper = wt.eff$upper,
  eff.fit = wt.eff$fit
)

ggplot(data=mpg.model.plot.data, aes(x = wt)) +
  geom_ribbon(aes(ymin = eff.lower, ymax = eff.upper), fill = "blue", alpha = 0.3) +
  geom_line(aes(y = eff.fit), color = "blue")
...