我正在尝试创建密度图并将其添加为正常曲线。
histvb <- hist(color$VB,
probability=TRUE,
breaks=seq(4000, 16000, by=1000),
main=NULL,xlab=c("Visible Brigthness"),
ylab=("Probability Densities"),cex.lab=1.2)
vb<-color$VB
xfit<-seq(min(0),max(16000),length=16000)
yfit<-dnorm(xfit,mean=mean(vb),sd=sd(vb))
yfit<-yfit*diff(hist$mids[1:2])*length(vb)
lines(xfit, yfit, col="blue",lty=5, lwd=2)
当我运行这些线条时,我得到了带有线条的情节,一切似乎都没问题, 但我也收到了这条消息
yfit <- yfit*diff(hist$mids[1:2])*length(vb)
Error in hist$mids : object of type 'closure' is not subsettable
我对此错误消息感到担心,因为我不知道这意味着什么..
答案 0 :(得分:1)
您的意思是histvb$mids[1:2]
,而不是hist$mids[1:2]
:histvb
是您在第一行中创建的结果:hist
是绘制直方图的函数。改变你的行
yfit<-yfit*diff(hist$mids[1:2])*length(vb)
到
yfit<-yfit*diff(histvb$mids[1:2])*length(vb)