用R中的3个变量绘制glm交互

时间:2018-10-03 11:16:08

标签: r plot glm interaction

我有以下具有分类变量相互作用的逻辑模型,希望在R中进行绘制。

model<- glm(df5$combined == "No" ~ df5$rs_glm5scale * df5$scenario, family="binomial")

场景变量具有两个类别(A和B)。

我的目标是绘制这样的图形: enter image description here

我尝试了以下方法,但它不适用于y轴:

glmplot<-ggplot(model, aes(x= df5$rs_glm5scale, y= df5$combined == "No", group=df5$scenario))+geom_line(size=1, aes(color= df5$scenario))

我如何在图形上绘制它?

2 个答案:

答案 0 :(得分:0)

您可以创建要绘制的数据网格:

library(tidyverse)
library(modelr)    

model = glm(combined == "No" ~ rs_glm5scale * scenario, data = df5, family="binomial")

grid = df5 %>% data_grid(rs_glm5scale = seq_range(rs_glm5scale, 20), scenario)

grid$predictions = predict(model, newdata = grid, type = 'response')

grid %>% ggplot(aes(x = rs_glm5scale, y = predictions, color = scenario)) +
    geom_line()

答案 1 :(得分:0)

这是使用基数R的解决方案:

  let { exact = true, component: WrappedComponent, ...routeProps} = loadableRoutes[path]
  exact = !!exact; // set true as default
  const WrapperComponent = props => <WrappedComponent {...routeProps} {...props}/>;
  return <Route key={path} path={path} exact={exact} component={WrapperComponent} />