[R-SIG-Finance] Elementary zoo question
Ajay Narottam Shah
ajayshah at mayin.org
Sun Aug 6 17:03:11 CEST 2006
I want to print out the cells in a zoo vector which satisfy a
boolean. Here are a pair of lines that establishes the object `x':
> library(zoo)
> x <- structure(c(3.06998257357605, 3.33772140570104, 3.3633043045167,
3.41858136637240, 3.3658893681899, 3.70288557892392, 3.70802276353851,
3.47820398631861, 3.39745971102681, 3.27788314930746, 3.21152179993291,
3.19076418031979, 3.15816979006477, 3.22623617599131, 3.24522228272378,
3.24310489894978, 3.15909156737315, 3.18912820274379, 3.06356055461099,
3.01357540944708, 2.96377166092153, 2.91085513859483, 2.74785431983229,
2.58340878444823, 2.47441643715188, 2.27267478028934, 2.26052797003791,
1.97871265843542, 2.08038946495422, 2.07798508066967, 2.08428258775158,
2.13334354449931, 2.14911548113283, 2.14179508745853, 2.17909394235188,
2.07815119482578, 2.08190247495454, 2.09346304733713, 2.09247814243038,
1.88816169712064, 1.89600381030329), index = structure(c(13292,
13293, 13294, 13297, 13298, 13299, 13300, 13301, 13304, 13305,
13306, 13307, 13308, 13311, 13312, 13313, 13314, 13315, 13318,
13319, 13320, 13321, 13322, 13324, 13325, 13326, 13327, 13328,
13329, 13332, 13333, 13334, 13335, 13336, 13339, 13340, 13341,
13342, 13343, 13346, 13347), class = "Date"), class = "zoo")
The obvious syntax, inspired by ordinary R vectors, doesn't work:
> x[x>3]
Data:
numeric(0)
Index:
character(0)
What gives? I'm reduced to:
> for (i in 1:length(x)) {
if (x[i] > 3) {
print(x[i])
}
}
Similarly, how would we print out rows from a zoo matrix based on a
boolean condition that is applied one timepoint at a time?
--
Ajay Shah http://www.mayin.org/ajayshah
ajayshah at mayin.org http://ajayshahblog.blogspot.com
<*(:-? - wizard who doesn't know the answer.
More information about the R-SIG-Finance
mailing list