Доверительный интервал для графика - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь построить график, используя код, который я ранее написал и использовал, но теперь он вызывает у меня головную боль. Я думаю, что это может быть из-за взаимодействия между пакетами Rmisc и dplyr, по крайней мере, я получаю уведомление, если я вызываю пакет Rmisc после dplyr. Есть ли способ обойти это?

  library(Rmisc)
  library(dplyr)
  Desc <- Acc %>%
  group_by(Epoch, Probability, Session) %>%
  summarise(mean = mean(Acc), CI = CI(Acc, ci=0.95)[1]- CI(Acc, ci=0.95)[2])

Ожидаемый:

Epoch Probability Session mean    CI 
 1         1          1     0.89    0.002
 2         1          2     0.87    0.001

...

Вместо этого я получаю это:

 mean    CI
 0.96     0.002

1 Ответ

0 голосов
/ 07 октября 2019

Я не уверен, связана ли эта проблема с Rmisc из-за того, что установка dplyr или Rmisc не работает, трудно определить без вашего метода sessionInfo (), но следующий прием должен работать для вас. Обратите внимание, что функция CI практически такая же, как в Rmisc. Просто сделайте Rmisc :: CI в консоли, чтобы увидеть сами. Проголосуйте, если сочтете это полезным.

library(dplyr)
same_CI <- function (x, ci = 0.95) 
{
  a <- mean(x)
  s <- sd(x)
  n <- length(x)
  error <- qt(ci + (1 - ci)/2, df = n - 1) * s/sqrt(n)
  return(c(upper = a + error, mean = a, lower = a - error))
}
Desc <- Acc %>%
      group_by(Epoch, Probability, Session) %>%
      summarise(mean = mean(Acc), 
                up = same_CI(Acc)[1],
                low = same_CI(Acc)[3],
                CI = up - low)
Обновление

Просто обратите внимание, что вы вычитали среднее значение из верхнего доверительного интервала, возможно, в этом была ошибка. И еще одна вещь, убедитесь, что у вас есть правильные уровни в вашем наборе данных Acc.

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