The following creates a point process version of a sinewave (maybe there's a better way): p<-amp*cos(2*pi*freq*(1:n)/n ) + 0.5 as.numeric(runif(1:n)<p) I get something like this: 1 o oo oo o o ooooo o 0 ooo o o o o o ooo ooo In case it's not obvious, this is a noisy version of 1 ooooooo ooooooo 0 ooooooo ooooooo I was wondering if anyone can suggest a way to create a version where I get 0s, 1s, and 2s something like a noisy version of this: 2 oooooooo oooooo 1 ooooo ooooo ooooo 0 ooooooo oooooooo I am looking for a version of the top graph except with 3 levels instead of 2. Thanks very much for any help Bill
William Simpson <william.a.simpson <at> gmail.com> writes:> > p<-amp*cos(2*pi*freq*(1:n)/n ) + 0.5 > > I was wondering if anyone can suggest a way to create a version where > I get 0s, 1s, and 2s something like a noisy version of this: > > 2 oooooooo oooooo > > 1 ooooo ooooo ooooo > > 0 ooooooo oooooooo ># It's always polite to add the trivial parts that # make the example run out of the box amp = 1 freq = 5 n = 100 p = 0.1 # Well, this is not a noisy version, but one with added spikes # If that's ok for you, take it p = amp*cos(2*pi*freq*(1:n)/n ) + 0.5* as.numeric(runif(1:n)<p) plot(p,type="l") # Note: the example must be modified for other values of amp pquant = ((p+1)*3) %/% 3 -1 lines(pquant) #--------------------- Dieter
If this helps, here is what I have currently mean.p<- .5 contrast<-1 amp<- contrast*mean.p freq<- 3 n<- 100 p<-amp*cos(2*pi*freq*(1:n)/n ) + mean.p plot(p) dens<-as.numeric(runif(1:n)<p) plot(p, type="l") points(dens, col="red") I would like some dots having y-value=0.5 in the middle of the plot. These will reduce the error of approximation. Thanks for any help. Bill