построение регрессионных оценок на основе оценки и ст. одна ошибка - PullRequest
0 голосов
/ 04 июля 2018

Я работаю с https://strengejacke.github.io/sjPlot/ и наслаждаюсь возможностью визуализации и сравнения оценок, как показано ниже (рабочий пример см. Ниже). Я задавался вопросом, возможно ли, в , возможно n , построить результаты, основанные только на оценках и стандартных ошибках? Скажем, я вижу модель в статье и оцениваю свою собственную модель, и теперь я хочу сравнить свою модель с моделью из статьи, в которой у меня есть только оценки и стандартные ошибки. Я видел это на SO , но это тоже похоже на модели.

Любые отзывы и предложения будут оценены.

# install.packages(c("sjmisc","sjPlot"), dependencies = TRUE)
# prepare data
library(sjmisc)
data(efc)
efc <- to_factor(efc, c161sex, e42dep, c172code)
m <- lm(neg_c_7 ~ pos_v_4 + c12hour + e42dep + c172code, data = efc)

# simple forest plot
library(sjPlot)
plot_model(m)

sjksj

Я предполагаю, что предварительный желаемый результат будет выглядеть примерно так,

gdfgdf

Я только что наткнулся на https://cran.r -project.org / web / packages / coefplot / но я на машине без R, я знаю, странно, но Я посмотрю в КАК МОЖНО СКОРЕЕ. возможно, это возможный маршрут.

1 Ответ

0 голосов
/ 04 июля 2018

Вы можете легко сделать это с пакетом dotwhisker. Пакет по умолчанию отображает 95% CI как усы, но вы можете изменить фрейм данных, который вы вводите в качестве входных данных, чтобы изменить это.

# Package preload
library(dotwhisker)
library(broom)
library(dplyr)

# run a regression compatible with tidy
m1 <- lm(mpg ~ wt + cyl + disp + gear, data = mtcars)

# regression compatible with tidy
m1_df <- broom::tidy(x = m1) # create data.frame of regression results
m1_df # a tidy data.frame available for dwplot
#> # A tibble: 5 x 5
#>   term         estimate std.error statistic       p.value
#>   <chr>           <dbl>     <dbl>     <dbl>         <dbl>
#> 1 (Intercept)  43.5        4.86       8.96  0.00000000142
#> 2 wt           -3.79       1.08      -3.51  0.00161      
#> 3 cyl          -1.78       0.614     -2.91  0.00722      
#> 4 disp          0.00694    0.0120     0.578 0.568        
#> 5 gear         -0.490      0.790     -0.621 0.540

# create  new columns for upper and lower bounds
m1_df <- m1_df %>%
  dplyr::mutate(
    .data = .,
    conf.low = estimate - std.error,
    conf.high = estimate + std.error
  )

# creating the dot and whisker plot
# note that whiskers correspond to standard error and not 95% CI
dotwhisker::dw_plot(m1_df)

Вы также можете увидеть примеры из виньеток, которые показывают, как можно изменить этот базовый график, особенно если вы хотите сравнить результаты по различным моделям: https://cran.r -project.org / web / packages / dotwhisker / vignettes /kl2007_examples.html

Например: enter image description here

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