Добавить строку dnorm к гистограмме

#r #histogram

#r #гистограмма

Вопрос:

Я слежу за некоторыми занятиями в DataCamp по R, и иногда, когда я реплицирую код из datacamp в R-studio, у меня возникают проблемы, но обычно я нахожу ответ здесь или обычно в Интернете. Однако на этот раз я не могу понять, в чем ошибка или как ее исправить. Когда я запускаю следующий код в R-studio, чтобы добавить строку в гистограмму, я получаю слишком много строк вместо одной строки, которую я получил в Datacamp. Это код:

 library(qrmdata)

# Load DJ index
data("DJ")

DJX <- diff(log(DJ))["2008/2009"]
djx <- unclass(DJX)

# Calculate average and standard deviation of djx
mu <- mean(djx)
sigma <- sd(djx)

# Plot histogram of djx
hist(djx, nclass = 20, probability = TRUE)

# Add the normal density as a red line to histogram
lines(djx, dnorm(djx, mean = mu, sd = sigma), col = "red")
  

Вот как это должно выглядеть в соответствии с Datacamp

datacamp

И это то, что я получаю, когда запускаю код в R-studio

r

Кто-нибудь может сказать мне, в чем ошибка, которую я совершаю?

Комментарии:

1. Вам нужно отсортировать djx .

2. Я думаю, проблема в том, что ваши dnorm точки не отсортированы, попробуйте отсортировать djx и соответствующие dnorm в порядке возрастания, и вы сможете избавиться от случайных скачущих строк.

3. Спасибо всем за ответ!

Ответ №1:

График гистограммы показывает, что ваши данные уже отсортированы, в то время как lines этого не произойдет. Итак, сначала вам нужно отсортировать свои данные.

 lines(sort(djx), dnorm(sort(djx), mean=mu, sd=sigma), col="red")
  

введите описание изображения здесь

Комментарии:

1. Большое вам спасибо! Это действительно было.