[R] Weighting data with normal distribution

2009-03-27 Thread Alice Lin

I have a vector of binary data – a string of 0’s and 1’s. 
I want to weight these inputs with a normal kernel centered around entry x
so it is transformed into a new vector of data that takes into account the
values of the entries around it (weighting them more heavily if they are
near).

Example:
  -
   - -
-  -
0 1 0 0 1 0 0 1 1 1 1 
If x = 3, it’s current value is 0 but it’s new value with the Gaussian
weighting around would be something like .1*0+.5*1+1*0+0.5*0+.1*1= 0.6

I want to be able to play with adjusting the variance to different values as
well.
I’ve found wkde in the mixtools library and think it may be useful but I
have not figured out how to use it yet.

Any tips would be appreciated.

Thanks!

-- 
View this message in context: 
http://www.nabble.com/Weighting-data-with-normal-distribution-tp22728289p22728289.html
Sent from the R help mailing list archive at Nabble.com.

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Weighting data with normal distribution

2009-03-27 Thread Mark Lyman
Alice Lin alice.ly at gmail.com writes:

 
 
 I have a vector of binary data – a string of 0’s and 1’s. 
 I want to weight these inputs with a normal kernel centered around entry x
 so it is transformed into a new vector of data that takes into account the
 values of the entries around it (weighting them more heavily if they are
 near).
 
 Example:
   -
- -
 -  -
 0 1 0 0 1 0 0 1 1 1 1 
 If x = 3, it’s current value is 0 but it’s new value with the Gaussian
 weighting around would be something like .1*0+.5*1+1*0+0.5*0+.1*1= 0.6
 
 I want to be able to play with adjusting the variance to different values as
 well.
 I’ve found wkde in the mixtools library and think it may be useful but I
 have not figured out how to use it yet.
 
 Any tips would be appreciated.
 
 Thanks!
 

I don't know anything about wkde. But the filter function in stats package 
should do what you want.

 x - c(0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1)
 filter(x, c(.1, .5, 1, .5, .1))
Time Series:
Start = 1 
End = 11 
Frequency = 1 
 [1]  NA  NA 0.6 0.6 1.0 0.6 0.7 1.6 2.1  NA  NA

In the signal package, there is also a variety of windows, including the 
gausswin function. However, the filter function in the signal package masks the 
filter function from the stats package

 stats::filter(x, gausswin(5, 2.68))

Mark Lyman
Statistician, ATK Launch Systems

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.