我在一个名为ph的图中有一个概率密度函数,我是通过stackoverflow用户的帮助从这两个数据样本中得到的,这样
few <-read.table('outcome.dat',head=TRUE)
many<-read.table('alldata.dat',head=TRUE)
mh <- hist(many$G,breaks=seq(0,1.,by=0.03), plot=FALSE)
fh <- hist(few$G, breaks=mh$breaks, plot=FALSE)
ph <- fh
ph$density <- fh$counts/(mh$counts+0.001)
plot(ph,freq=FALSE,col="blue")
我想符合ph值曲线的最佳曲线,但我找不到工作方法。 我怎样才能做到这一点?我必须从ph中提取vaule,然后对它们进行处理?或者有相同的功能适用于
plot(ph,freq=FALSE,col="blue")
直接?
答案 0 :(得分:3)
假设你的意思是你想要对ph中的数据进行曲线拟合,那么就是这样的
nls(FUN, cbind(ph$counts, ph$mids),...)
可能有用。你需要知道你认为直方图数据应该适合哪种函数'FUN',例如:正态分布。阅读nls()
上的帮助文件,了解如何在FUN中为系数设置起始“猜测”值。
如果您只想将曲线叠加到直方图上,则smoo<-spline(ph$mids,ph$counts);
lines(smoo$x,smoo$y)
将接近这样做。您可能需要调整x和/或y缩放。
答案 1 :(得分:2)
你想要密度函数吗?
x = rnorm(1000)
hist(x, breaks = 30, freq = FALSE)
lines(density(x), col = "red")