二项式线性模型拟合问题

时间:2021-07-18 18:36:27

标签: r ggplot2

我是一名学生,正在为学校开展一个项目,我所使用的示例代码有一条用于数据集的线性模型线(蓝色)。同时,当我用我的数据运行完全相同的代码时,它给了我两条蓝线,而不是我想要的一条对角线。我不知道我做错了什么/我的数据和示例数据集之间的区别是什么。任何帮助都将不胜感激!

示例代码:

drunkdoor <- read_csv("https://uoepsy.github.io/data/drunkdoor.csv")
head(drunkdoor)
ggplot(drunkdoor, aes(x=age, y=notice)) + geom_point()+geom_smooth(method = "lm", se = FALSE, fullrange = TRUE) + xlim(30, 80)

example data head + graph

我的代码:

data1 <- read_csv('https://uoepsy.github.io/data/dapr2_2021_nullsit_data.csv')
head(data1)
ggplot(data1, aes(x = z_test, y = intervention1)) + geom_point() + geom_smoot(method = "lm)

my data head + graph

1 个答案:

答案 0 :(得分:0)

不同之处在于,在示例图中,当您使用字符值时,它们使用 y 的数值。一种解决方法是指定“组”值,以便 ggplot 知道哪些点集应该在同一条线上。如果您在 group=1 中使用 aes(),它将知道将所有点组合在一起并绘制一条线(而不是为每个字符值绘制一条线)

ggplot(data1, aes(x = z_test, y = intervention1, group=1)) + 
  geom_point() + 
  geom_smooth(method = "lm")

或者,您可以将值更改为数值

ggplot(data1, aes(x = z_test, y = ifelse(intervention1=="control",0,1))) + 
  geom_point() + 
  geom_smooth(method = "lm")

请注意,这两行是不同的,因为它在 y 轴上以不同的顺序放置了值。您需要决定是要“控制”在顶部还是“控制”在底部。