2017-01-30 4 views
1

Есть ли способ указать веса и типы корреляции в ggplot2, stat_smooth. Я пытаюсь построить гладкую функцию, используя следующий режим игры. Есть ли способ, чтобы задать параметры в stat_smooth()Добавить весы и типы корреляции в stat_smooth

set.seed(1) 
D = data.table(id = rep((1:100),10), value = rnorm(1000), stratification = rep(c("A","B","C","D"), 25)) 
setkey(D, id) 
D = D[, time := 1:10, by = id] 
w = 1/(0.1 + time)^2 
Model <- gam(formula = value~ s(time), weights=w, data=D, correlation=corAR1(form =~ time)) 

Есть ли способ, чтобы построить эту функцию сглаживания в ggplot2?

Спасибо!

ответ

1

Это должно работать:

set.seed(1) 
D = data.table(id = rep((1:100),10), value = rnorm(1000), stratification = rep(c("A","B","C","D"), 25)) 
setkey(D, id) 
D[, time := 1:10, by = id] 
D$w = 1/(0.1 + D$time)^2 
Model <- gam(formula = value~ s(time), weights=w, data=D, correlation=corAR1(form =~ time)) 
pred <- data.frame(time=D$time, fitted=Model$fitted.values) 
ggplot(D, aes(time, value)) + 
    geom_point() + 
    geom_line(data=pred,aes(time, fitted), col='steelblue', lwd=1.2) 

enter image description here

Смежные вопросы