У меня есть переменная (day2), для которой я хочу наложить нормальное распределение поверх гистограммы в ggplot. Когда я пытаюсь сделать это с помощью приведенного ниже кода, я получаю два предупреждающих сообщения и никакого нормального распределения.
Warning messages:
1: Removed 546 rows containing non-finite values (stat_bin).
2: Removed 1 rows containing missing values (geom_bar).
Я думаю, может быть, это связано с асимметрией распределения или, может быть, с большим количеством отсутствующих данных (67%), но я не могу понять, почему R не строит нормальную кривую. Кто-нибудь, кто может рассказать мне больше о причине, по которой R не строит нормальную кривую?
#Data
day2 <- c(1.35,1.41,NA,NA,0.08,NA,NA,NA,NA,0.44,NA,0.2,NA,1.64,0.02,NA,NA,2.05,NA,NA,0.7,NA,NA,0.85,NA,NA,NA,NA,NA,0.38,0.11,NA,NA,NA,0.82,NA,0.91,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.38,NA,NA,NA,NA,NA,0.32,0.23,NA,NA,NA,NA,0.14,NA,NA,NA,1.9,NA,NA,0.76,NA,0.7,0.55,NA,0.38,NA,NA,NA,NA,1.18,0.79,NA,NA,NA,NA,NA,2.08,1,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.14,0.58,NA,1.7,NA,NA,1.06,NA,NA,NA,NA,NA,NA,1.58,NA,NA,NA,NA,NA,NA,NA,NA,2.08,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,1.38,1.44,1.73,NA,NA,NA,1.11,1.14,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,2.12,NA,NA,NA,NA,NA,NA,NA,NA,NA,1.97,0.58,0.7,NA,NA,NA,NA,NA,NA,NA,1.35,NA,NA,NA,0.29,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.85,1.02,NA,NA,0.05,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.78,NA,NA,NA,NA,NA,NA,2.29,NA,NA,NA,NA,NA,0.23,0.44,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.47,NA,NA,NA,NA,NA,NA,NA,1.17,NA,NA,0.44,NA,0.47,NA,NA,NA,0.17,NA,0.85,NA,NA,NA,NA,1.11,NA,NA,NA,NA,NA,NA,NA,0.41,0.76,NA,NA,NA,NA,0.55,1.02,NA,NA,NA,NA,NA,NA,2.5,NA,0.32,NA,0.17,0.2,0.52,NA,0.23,NA,0.52,NA,0.84,0.26,0.76,0.85,1.52,NA,NA,NA,NA,NA,NA,2.53,NA,NA,0.52,3.35,NA,NA,NA,NA,NA,1.08,NA,1.55,1.97,NA,NA,NA,1.38,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.97,NA,NA,0.94,0.11,NA,0.82,NA,NA,NA,0.5,NA,0.58,NA,0.14,NA,1.17,0.44,0.58,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.82,NA,NA,0.76,1.14,0.17,0.9,NA,0.67,0.38,NA,NA,NA,NA,NA,NA,NA,NA,0.35,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.2,1.44,0.91,2.44,NA,NA,0.23,0.35,0.79,0.76,0.26,NA,0.73,0.79,NA,NA,NA,NA,1.11,NA,2.38,0.06,2.41,0.85,0.58,0.23,NA,NA,NA,NA,NA,0.32,NA,0.29,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.41,NA,NA,NA,NA,NA,0.14,NA,1.2,0.45,NA,NA,NA,NA,NA,NA,0.14,NA,1.88,0.91,1.79,NA,NA,3,NA,1.21,1.7,0.35,NA,1.5,NA,NA,NA,NA,NA,3.21,1.38,2.5,NA,NA,NA,NA,NA,0.7,NA,NA,NA,NA,0.7,NA,NA,0.79,NA,NA,NA,NA,NA,NA,NA,NA,0.28,NA,NA,0.41,0.64,0.85,NA,NA,0.76,NA,NA,0.91,NA,NA,2.2,2.23,NA,NA,1.05,1.29,NA,NA,0.26,1.11,0.35,NA,NA,0.2,NA,NA,0.52,0.23,1.76,1.17,NA,NA,1.2,NA,NA,0.23,NA,0.64,NA,1.94,NA,NA,1,NA,NA,NA,NA,NA,0.73,1.58,0.55,NA,0.84,NA,0.52,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.67,NA,NA,NA,NA,NA,NA,NA,0.76,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,1.64,1.75,1.08,0.91,0.94,NA,0.32,2.44,0.17,0.02,1.54,0.5,0.48,1.35,2.61,2.05,NA,0.76,0.08,2.91,NA,1,NA,0.47,0.7,NA,1.45,0.14,NA,0.38,NA,NA,0.26,2.32,0.2,NA,2.72,NA,0.41,NA,0.88,NA,0.85,0.23,NA,NA,NA,NA,NA,NA,1.23,NA,0.2,NA,1.32,2.7,NA,NA,2.55,NA,0.17,NA,NA,NA,NA,1.13,NA,0.79,NA,NA,0.38,NA,NA,1,0.2,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,0.47,NA,NA,0.55,0.94,1.02,NA,NA,NA,NA,0.64,0.67,1.87,NA,NA,0.82,NA,NA,NA,NA,NA,NA,0.64,NA,NA,NA,NA,1.7,NA,0.79,NA,0.58,0.11,NA,2.42,NA,NA,NA,NA,NA,NA,NA,NA,NA,0,0.23,NA,NA,0.85,1.14,NA,1.14,NA,NA,0.26,NA,NA,NA,NA,NA,0.14,NA,1.14,1.02,NA,0.94,0.55,NA,1.11,NA,NA,NA,NA,NA,NA,0.7,NA,NA,NA,1.94,NA,NA,NA,0.2,3.44,1,0.91,NA,1.58,2.85,NA,0.79,NA,0.76,0.56,1.78,NA,0.23,1.35,1.82,NA,0.17,1.7,NA,1.32,0.14,0.94,1.52,NA,NA,NA,1.41,0.32,0.58,0.44,NA,0.94,1.44,NA,NA,NA)
day2 <- data.frame(day2)
# GGplot script
day2_hist <- ggplot(day2, aes(day2))
day2_hist + geom_histogram(aes(y =..density..), colour = "black", fill = "grey", bins = 20) + #specify geometric object, in this case a histogram
labs(title = "Hygiene score Day 2") + #add main title
scale_x_continuous("Hygiene Score",
limits = c(0, 4)) + #specify x-axis name
scale_y_continuous("Density", #specify y-axis name
limits = c(0, 0.8)) + #specify limits
theme(plot.title = element_text(hjust = 0.5), #align main title
axis.line = element_line(colour = "black", size = 0.2), #colour of the lines that contain elements
panel.grid.major = element_blank(), #colour of major grid lines
panel.grid.minor = element_blank(), #colour of minor grid lines
panel.border = element_blank(), #colour of graph border
panel.background = element_blank()) + #colour of background
stat_function(fun = dnorm, #returns the probability (i.e., the density) for a given value from a normal distribution of known mean and standard deviation
args = list(mean = mean(day2$day2), sd = sd(day2$day2)),
colour = "black", size = 0.5)