【发布时间】:2021-01-25 12:11:15
【问题描述】:
我正在使用以下数据中的最后一列, Data
其中 k 是一些内核,通常是正态分布,但不一定。,h 是带宽,n 是数据集的长度,X_i 是每个数据点,x 是拟合值。所以使用这个等式我有以下代码,
AstroData=read.table(paste0("http://www.stat.cmu.edu/%7Elarry",
"/all-of-nonpar/=data/galaxy.dat"),
header=FALSE)
x=AstroData$V3
xsorted=sort(x)
x_i=xsorted[1:1266]
hist(x_i, nclass=308)
n=length(x_i)
h1=.002
t=seq(min(x_i),max(x_i),0.01)
M=length(t)
fhat1=rep(0,M)
for (i in 1:M){
fhat1[i]=sum(dnorm((t[i]-x_i)/h1))/(n*h1)}
lines(t, fhat1, lwd=2, col="red")
这实际上接近我想要的结果,因为一旦我删除直方图,最终结果应该显示为这样,
如果您注意到它的调整更精细,应该表示密度的红线相当粗糙,并且没有缩放得那么高。您看到的最终绘图是使用 R 中的密度函数运行的,
plot(density(x=y, bw=.002))
这是我想要达到的目标,而无需使用任何额外的包。
谢谢
【问题讨论】: