我正努力想办法解决这个问题。假设变量英里是从正态分布的人口中取样的,那么在估计均值和方差时,我将如何绘制理论正态分布呢?
data <- read.csv("data.csv", sep = "\t", header = TRUE)
data
name mile
1 dat1 5039
2 dat1 2883
3 dat2 135
4 dat2 104
5 dat3 32
6 dat3 192我得到了按英里计算的平均值和方差如下:
mean(data$mile)
[1] 1397.5
var(data$mile)
[1] 4410420但我不知道这是否是被问及的问题。以前有没有人处理过这样的问题?任何帮助都将不胜感激。
更新
pdf_norm <- function(x,mu,sigma){
1/(sqrt(2*pi*sigma^2))*exp(-(x - mu)^2/(2*sigma^2))
}
mu <- 1397.5
sigma <- 4410420
x <- seq(mu-3*sigma, mu+3*sigma,length.out = 100) # empirical rule 3 sigma rule
d <- pdf_norm(x, mu,sigma)
plot(x,d, xlab = "X", ylab = "density")我得到了.的输出。

我试着用下面的代码把直方图叠加到上面的图上.
hist(data$mile, add = T)但结果是..。

这显然是不对的。有人能帮忙吗?
发布于 2019-11-13 18:58:02
如果需要绘制理论分布图,则需要首先定义其PDF (例如,您可以找到公式这里):
pdf_norm <- function(x,mu,sigma){
1/(sqrt(2*pi*sigma^2))*exp(-(x - mu)^2/(2*sigma^2))
}这里,x是随机变量,mu是平均值,sigma是标准差。
在那之后,你可以继续密谋。将mu和sigma设置为您的估计并评估PDF。使用三西格玛规则选择范围。
mu <- 1397.5
sigma <- 4410420
x <- seq(mu-3*sigma, mu+3*sigma,length.out = 100) # empirical rule 3 sigma rule
d <- pdf_norm(x, mu,sigma)
plot(x,d, xlab = "X", ylab = "density")您还可以确保PDF大约集成到1:
integrate(function(x) pdf_norm(x, mu, sigma), mu-3*sigma, mu+3*sigma)输出

发布于 2019-11-13 18:50:43
您可以使用rnorm()函数从具有给定总体均值和标准差的正态分布中生成随机值,然后使用density()函数和plot()函数创建一个正态分布图。使用您的数据,您可以执行如下操作:
plot(density(rnorm(n = 100000, mean = mean(data$mile), sd = sd(data$mile))))我使用sd()函数来获得标准差,但也可以使用方差的平方根:sqrt(var(data$mile))
https://stackoverflow.com/questions/58843587
复制相似问题