[R] Using which function with xts
Manussawee Sukunta
msukunta at illinoisalumni.org
Wed Jul 14 16:55:02 CEST 2010
Hi everyone:
I did a search over the internet and still couldn't find answer to my problem.
I have a series of prices that I'm trying to clean up by removing any
prices greater than 3 times the standard deviations. So, say that
prices are:
price1
2010-06-18 08:00:06.916 2730
2010-06-18 08:00:07.005 2730
2010-06-18 08:00:07.005 2729
2010-06-18 08:00:07.451 2730
2010-06-18 08:00:07.451 2730
2010-06-18 08:00:07.805 2730
2010-06-18 08:00:08.010 2730
2010-06-18 08:00:08.354 2730
2010-06-18 08:00:08.354 2729
2010-06-18 08:00:08.354 2729
2010-06-18 08:00:08.354 2730
2010-06-18 08:00:08.635 2730
2010-06-18 08:00:08.635 2730
2010-06-18 08:00:08.805 2730
2010-06-18 08:00:09.020 2731
2010-06-18 08:00:09.020 2731
2010-06-18 08:00:09.020 2731
2010-06-18 08:00:09.020 2731
I then find:
avg = mean(price, na.rm=T)
std = sd(price, na.rm=T)
t = abs(price-avg)
tt = which(t > 2.9*std)
I still was able to maintain class(t) = "xts" "zoo", but class(tt) =
"integer". I need to keep tt to xts because anything that's more than
2.9*std will be filter out using the time stamp as the index. If I
don't have the time stamp in tt, I'm not quite sure how I can filter
out unwanted prices.
I know that this code works on Linux side, but I have to translate it
to Windows side. The data is fed in a little differently, but it
should works the same way now that I've translated the data into xts
object. I'm not quite sure what I'm missing. Any help is greatly
appreciated.
Thank you,
Manussawee
More information about the R-help
mailing list