[R] Plotting counts vs. intervals for a shingle
Deepayan Sarkar
deepayan.sarkar at gmail.com
Fri May 8 22:55:52 CEST 2009
On Fri, May 8, 2009 at 1:30 PM, David Winsemius <dwinsemius at comcast.net> wrote:
>
> 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?)
Noting that
> str(levels(c))
List of 4
$ : num [1:2] 0 5.5
$ : num [1:2] 2.5 7.5
$ : num [1:2] 4.5 9.5
$ : num [1:2] 6.5 11
- attr(*, "class")= chr "shingleLevel"
I would suggest the slightly simpler
> sapply(levels(c), function(x) sum(x[1] <= c & c <= x[2]))
[1] 6 8 10 8
-Deepayan
More information about the R-help
mailing list