Took a bit of inspecting, looking at hidden functions, but this seems
to do it:
library(lattice)
a <- c(1:10, 5:10)
b <- cbind(c(0,2.5,4.5,6.5), c(5.5,7.5,9.5,11))
c <- shingle(a, b)
summary(c, showValues=FALSE)
apply(as.matrix(levels(c)), 1, function(x) length(c[ c>= x[[1]][1] & c
<= x[[1]][2] ]) )
#[1] 6 8 10 8
"apply" passes a list to the function which requires the "[["
operation before the index. Since you did not create an example that
represents the exceptions, i did not test for any such conditions.
(Why do people not construct proper examples?)
--
David
On May 7, 2009, at 9:55 AM, Walcerz, Douglas (APG) wrote:
Hello!
Suppose I have a set of values:
a <- c(1:10, 5:10)
Suppose I also have a set of intervals:
b <- cbind(c(0,2.5,4.5,6.5), c(5.5,7.5,9.5,11))
I can create a shingle that counts how many values are in each
interval:
c <- shingle(a, b)
I can display the shingle to see the counts:
summary(c, showValues=FALSE)
The display looks like this:
Intervals:
min max count
1 0.0 5.5 6
2 2.5 7.5 8
3 4.5 9.5 10
4 6.5 11.0 8
Overlap between adjacent intervals:
[1] 4 6 6
I would like to plot the "count" vs. the "Intervals"
I can create a vector representing the intervals:
labels <- as.character(levels(c))
But I can't seem to create a vector of counts, which would permit me
to plot counts vs. intervals.
Thanks for any insights you can provide.
p.s. My real data contains 25,094 values and 5,809 intervals. Many
of the intervals will not contain any of the values.
-Douglas
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
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.