[R] Plotting counts vs. intervals for a shingle
dwinsemius at comcast.net
Fri May 8 22:30:35 CEST 2009
Took a bit of inspecting, looking at hidden functions, but this seems
to do it:
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)
apply(as.matrix(levels(c)), 1, function(x) length(c[ c>= x[] & c
<= x[] ]) )
# 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?)
On May 7, 2009, at 9:55 AM, Walcerz, Douglas (APG) wrote:
> 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
> c <- shingle(a, b)
> I can display the shingle to see the counts:
> summary(c, showValues=FALSE)
> The display looks like this:
> 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:
>  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.
David Winsemius, MD
West Hartford, CT
More information about the R-help