随机,曲线分布的数据点

时间:2010-12-19 22:47:29

标签: r random package distribution curve-fitting

背景

提供R编程的示例。

问题

创建一个值分布,在建模时,会生成类似于:

的曲线

基本上,我想做类似的事情:

x <- seq( 0, 2, by=0.01 )
y <- sin( 2 * pi * cos( x - 1/2 ) )
plot( x, y * runif( x ) )

但是没有0.5左右的数据点:

问题

你会如何创建这样的发行版?

谢谢!

3 个答案:

答案 0 :(得分:3)

slo<-0.5 #slope of underlying trend
sta<--0.5 #starting y value
amp<-0.2 #amplitude of sine wave
fre<-3 #frequency of sine wave
noi<-0.8 #amplitude of noise term
x<-seq(0,2,0.01)
y<-sta+(slo*x)+(amp*sin(fre*x)) #y no noise
ywnoise<-y+(noi*(runif(length(x))-0.5)) #y with noise

plot(x,ywnoise)
lines(x,y, col="orange")
grid()

答案 1 :(得分:1)

嗯......我不确定你的发行版是否需要任何特定的统计属性,但这样的东西可以摆脱丛集

plot(x,y+rnorm(length(x), 0, 0.2))

答案 2 :(得分:1)

由于sin(2 * pi * cos(x-0.5))在0.5处变为零,您应该尝试添加runif()

x <- seq( 0, 2, by=0.01 )
y <- sin( 2 * pi * cos( x - 1/2 ) ) +runif(201)
plot( x,y  )
lines(loess(y~x)$x, lowess(y~x)$y)