Построение линий скрещивания (999) на одной плоскости xy в r - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть две переменные, которые я хочу загрузить и отобразить результирующую линию линейной регрессии на той же плоскости 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] 
}

1 Ответ

0 голосов
/ 17 сентября 2018

Вот пример того, как сделать несколько пар линий на 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()

А вот и сюжет:

stacked lines

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...