Коэффициенты графика с доверительными интервалами в R - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть образец регрессии, как показано ниже.
y it = λ i + δ t + α 1 TR + ∑ t ∈ {2 ,,, T} β t TR * δ t

То есть у меня есть изменяющиеся во времени коэффициенты, β t .С помощью результата регрессии я хотел бы построить коэффициенты с доверительными интервалами (ось X - это время, а ось Y - это значения коэффициентов).

Вот пример данных

y = rnorm(1000,1)
weekid = as.factor(sample.int(52,size = 1000,replace = T))
id = as.factor(sample.int(100,size = 1000,replace = T))
tr = as.factor(sample(c(0,1),size = 1000, prob = c(1,2),replace = T))
sample_lm = lm(y ~ weekid + id + tr*weekid)
summary(sample_lm)

Как я могу построить коэффициенты для tr*weekid с доверительными интервалами?

1 Ответ

0 голосов
/ 05 февраля 2019

Мы можем использовать ggcoef из GGally.Одна проблема заключается в том, что вы хотите визуализировать только подмножество коэффициентов.В этом случае мы можем сделать

ggcoef(tail(broom::tidy(sample_lm, conf.int = TRUE), 51), sort = "ascending")

enter image description here

Обновление : поскольку, по крайней мере, до некоторой степени, мы можем иметь дело сэтот график, как и при выводе ggplot2, мы можем перевернуть оси с помощью coord_flip.Это не лучшая идея, поскольку имена переменных длинные, поэтому для демонстрации я объединил их с angle = 30.По умолчанию коэффициенты сортируются по имени, что опять-таки не то, что нужно после.Чтобы это исправить, сначала нужно определить имена коэффициентов как факторные переменные и указать их уровни.То есть у нас есть

tbl <- tail(broom::tidy(sample_lm, conf.int = TRUE), 51)
tbl$term <- factor(tbl$term, levels = tbl$term)
ggcoef(tbl) + coord_flip() + theme(axis.text.x = element_text(angle = 30))

enter image description here

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