我有两个变量,我想在每个新数据集的同一xy平面上引导并绘制所得线性回归线。
我当时在想我可以保留lm()的每个结果截距和斜率,但是我不知道如何在同一图中为每个结果对信息绘制该信息。我知道abline()可以一对,但不是全部。随意向我扔任何东西。
intercept_stuff<-rep(NA,T)
opp_stuff<-rep(NA,T)
N<-1000
for(t in 1:T){
idx <- sample(1:N, size =N, replace=TRUE)
intercept_stuff[t]<- lm(oppose_any~local_topic ,data = facebook[idx,
])$coefficient[1]
opp_stuff[t]<- lm(oppose_any~local_topic ,data = facebook[idx,
])$coefficient[2]
}
答案 0 :(得分:0)
这里是一个示例,该示例说明如何使用某些模拟数据在ggplot
上执行多对线。希望这会给您一些有用的线索:
library(reshape2)
library(tibble)
# simulate some data
obs <- c(1:90)
values1 <- rnorm(90,mean=0,sd=1)
values2 <- rnorm(90,mean=5,sd=2)
values3 <- rnorm(90,mean=10,sd=3)
df <- as.tibble(cbind(obs,values1,values2,values3))
它看起来像这样:
> df
# A tibble: 90 x 4
obs values1 values2 values3
<dbl> <dbl> <dbl> <dbl>
1 1. -0.162 7.47 10.7
2 2. 0.518 5.17 7.61
3 3. 1.52 7.66 4.42
# ... with 80 more rows
然后melt
将其转换为长格式:
m.df <- melt(df,id="obs",measures=c("values1","values2","values3"))
看起来像这样:
> m.df
obs variable value
1 1 values1 -0.16228714
2 2 values1 0.51755370
3 3 values1 1.52433685
4 4 values1 -1.82067006
5 5 values1 -1.42180601
...
然后绘制多条线(只要这里有color
组之类的组,它们将是唯一的线):
ggplot(m.df,aes(x=obs,y=value,color=variable)) + geom_line()
这是情节:
祝你好运!