diff --git a/docs/404.html b/docs/404.html deleted file mode 100644 index d8aff94..0000000 --- a/docs/404.html +++ /dev/null @@ -1,148 +0,0 @@ - - - -
- - - - -Evaluating if values of vectors are within different open/closed intervals (x %[]% c(a, b)
), or if two closed intervals overlap (c(a1, b1) %[]o[]% c(a2, b2)
). Operators for negation and directional relations also implemented.
Install from CRAN:
- -Install development version from GitHub:
-if (!requireNamespace("remotes")) install.packages("remotes")
-remotes::install_github("psolymos/intrval")
User visible changes are listed in the NEWS file.
-Use the issue tracker to report a problem.
-Values of x
are compared to interval endpoints a
and b
(a <= b
). Endpoints can be defined as a vector with two values (c(a, b)
): these values will be compared as a single interval with each value in x
. If endpoints are stored in a matrix-like object or a list, comparisons are made element-wise.
x <- rep(4, 5)
-a <- 1:5
-b <- 3:7
-cbind(x=x, a=a, b=b)
-x %[]% cbind(a, b) # matrix
-x %[]% data.frame(a=a, b=b) # data.frame
-x %[]% list(a, b) # list
If lengths do not match, shorter objects are recycled. Return values are logicals. Note: interval endpoints are sorted internally thus ensuring the condition a <= b
is not necessary.
These value-to-interval operators work for numeric (integer, real) and ordered vectors, and object types which are measured at least on ordinal scale (e.g. dates).
-The following special operators are used to indicate closed ([
, ]
) or open ((
, )
) interval endpoints:
Operator | -Expression | -Condition | -
---|---|---|
%[]% |
-x %[]% c(a, b) |
-x >= a & x <= b |
-
%[)% |
-x %[)% c(a, b) |
-x >= a & x < b |
-
%(]% |
-x %(]% c(a, b) |
-x > a & x <= b |
-
%()% |
-x %()% c(a, b) |
-x > a & x < b |
-
Equal | -Not equal | -Less than | -Greater than | -
---|---|---|---|
%[]% |
-%)(% |
-%[<]% |
-%[>]% |
-
%[)% |
-%)[% |
-%[<)% |
-%[>)% |
-
%(]% |
-%](% |
-%(<]% |
-%(>]% |
-
%()% |
-%][% |
-%(<)% |
-%(>)% |
-
The functions %[c]%
, %[c)%
, %(c]%
, and %(c)%
return an integer vector taking values (the c
within the brackets refer to ‘cut’):
-1L
when the value is less than or equal to a
(a <= b
), depending on the interval type,0L
when the value is inside the interval, or1L
when the value is greater than or equal to b
(a <= b
), depending on the interval type.Expression | -Evaluates to -1 | -Evaluates to 0 | -Evaluates to 1 | -
---|---|---|---|
x %[c]% c(a, b) |
-x < a |
-x >= a & x <= b |
-x > b |
-
x %[c)% c(a, b) |
-x < a |
-x >= a & x < b |
-x >= b |
-
x %(c]% c(a, b) |
-x <= a |
-x > a & x <= b |
-x > b |
-
x %(c)% c(a, b) |
-x <= a |
-x > a & x < b |
-x >= b |
-
The operators define the open/closed nature of the lower/upper limits of the intervals on the left and right hand side of the o
in the middle.
Intervals | -Int. 2: []
- |
-Int. 2: [)
- |
-Int. 2: (]
- |
-Int. 2: ()
- |
-
---|---|---|---|---|
Int. 1: [] |
-%[]o[]% |
-%[]o[)% |
-%[]o(]% |
-%[]o()% |
-
Int. 1: [) |
-%[)o[]% |
-%[)o[)% |
-%[)o(]% |
-%[)o()% |
-
Int. 1: (] |
-%(]o[]% |
-%(]o[)% |
-%(]o(]% |
-%(]o()% |
-
Int. 1: () |
-%()o[]% |
-%()o[)% |
-%()o(]% |
-%()o()% |
-
The overlap of two closed intervals, [a1, b1] and [a2, b2], is evaluated by the %[o]%
(alias for %[]o[]%
) operator (a1 <= b1
, a2 <= b2
). Endpoints can be defined as a vector with two values (c(a1, b1)
)or can be stored in matrix-like objects or a lists in which case comparisons are made element-wise. If lengths do not match, shorter objects are recycled. These value-to-interval operators work for numeric (integer, real) and ordered vectors, and object types which are measured at least on ordinal scale (e.g. dates), see Examples. Note: interval endpoints are sorted internally thus ensuring the conditions a1 <= b1
and a2 <= b2
is not necessary.
c(2, 3) %[]o[]% c(0, 1)
-list(0:4, 1:5) %[]o[]% c(2, 3)
-cbind(0:4, 1:5) %[]o[]% c(2, 3)
-data.frame(a=0:4, b=1:5) %[]o[]% c(2, 3)
If lengths do not match, shorter objects are recycled. These value-to-interval operators work for numeric (integer, real) and ordered vectors, and object types which are measured at least on ordinal scale (e.g. dates).
-%)o(%
is used for the negation of two closed interval overlap, directional evaluation is done via the operators %[<o]%
and %[o>]%
. The overlap of two open intervals is evaluated by the %(o)%
(alias for %()o()%
). %]o[%
is used for the negation of two open interval overlap, directional evaluation is done via the operators %(<o)%
and %(o>)%
.
Equal | -Not equal | -Less than | -Greater than | -
---|---|---|---|
%[o]% |
-%)o(% |
-%[<o]% |
-%[o>]% |
-
%(o)% |
-%]o[% |
-%(<o)% |
-%(o>)% |
-
Overlap operators with mixed endpoint do not have negation and directional counterparts.
-The previous operators will return NA
for unordered factors. Set overlap can be evaluated by the base %in%
operator and its negation %ni%
(as in not in, the opposite of in). %nin%
and %notin%
are aliases for better code readability (%in%
can look very much like %ni%
).
set.seed(1)
-n <- 10^4
-x <- runif(n, -2, 2)
-y <- runif(n, -2, 2)
-d <- sqrt(x^2 + y^2)
-iv1 <- x %[]% c(-0.25, 0.25) & y %[]% c(-1.5, 1.5)
-iv2 <- x %[]% c(-1.5, 1.5) & y %[]% c(-0.25, 0.25)
-iv3 <- d %()% c(1, 1.5)
-plot(x, y, pch = 19, cex = 0.25, col = iv1 + iv2 + 1,
- main = "Intersecting bounding boxes")
-plot(x, y, pch = 19, cex = 0.25, col = iv3 + 1,
- main = "Deck the halls:\ndistance range from center")
library(qcc)
-data(pistonrings)
-mu <- mean(pistonrings$diameter[pistonrings$trial])
-SD <- sd(pistonrings$diameter[pistonrings$trial])
-x <- pistonrings$diameter[!pistonrings$trial]
-iv <- mu + 3 * c(-SD, SD)
-plot(x, pch = 19, col = x %)(% iv +1, type = "b", ylim = mu + 5 * c(-SD, SD),
- main = "Shewhart quality control chart\ndiameter of piston rings")
-abline(h = mu)
-abline(h = iv, lty = 2)
## Annette Dobson (1990) "An Introduction to Generalized Linear Models".
-## Page 9: Plant Weight Data.
-ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
-trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
-group <- gl(2, 10, 20, labels = c("Ctl","Trt"))
-weight <- c(ctl, trt)
-
-lm.D9 <- lm(weight ~ group)
-## compare 95% confidence intervals with 0
-(CI.D9 <- confint(lm.D9))
-# 2.5 % 97.5 %
-# (Intercept) 4.56934 5.4946602
-# groupTrt -1.02530 0.2833003
-0 %[]% CI.D9
-# (Intercept) groupTrt
-# FALSE TRUE
-
-lm.D90 <- lm(weight ~ group - 1) # omitting intercept
-## compare 95% confidence of the 2 groups to each other
-(CI.D90 <- confint(lm.D90))
-# 2.5 % 97.5 %
-# groupCtl 4.56934 5.49466
-# groupTrt 4.19834 5.12366
-CI.D90[1,] %[o]% CI.D90[2,]
-# 2.5 %
-# TRUE
DATE <- as.Date(c("2000-01-01","2000-02-01", "2000-03-31"))
-DATE %[<]% as.Date(c("2000-01-15", "2000-03-15"))
-# [1] TRUE FALSE FALSE
-DATE %[]% as.Date(c("2000-01-15", "2000-03-15"))
-# [1] FALSE TRUE FALSE
-DATE %[>]% as.Date(c("2000-01-15", "2000-03-15"))
-# [1] FALSE FALSE TRUE
-
-dt1 <- as.Date(c("2000-01-01", "2000-03-15"))
-dt2 <- as.Date(c("2000-03-15", "2000-06-07"))
-dt1 %[]o[]% dt2
-# [1] TRUE
-dt1 %[]o[)% dt2
-# [1] TRUE
-dt1 %[]o(]% dt2
-# [1] FALSE
-dt1 %[]o()% dt2
-# [1] FALSE
Find the math here, as implemented in the package truncdist.
-dtrunc <- function(x, ..., distr, lwr=-Inf, upr=Inf) {
- f <- get(paste0("d", distr), mode = "function")
- F <- get(paste0("p", distr), mode = "function")
- Fx_lwr <- F(lwr, ..., log=FALSE)
- Fx_upr <- F(upr, ..., log=FALSE)
- fx <- f(x, ..., log=FALSE)
- fx / (Fx_upr - Fx_lwr) * (x %[]% c(lwr, upr))
-}
-n <- 10^4
-curve(dtrunc(x, distr="norm"), -2.5, 2.5, ylim=c(0, 2), ylab="f(x)")
-curve(dtrunc(x, distr="norm", lwr=-0.5, upr=0.1), add=TRUE, col=4, n=n)
-curve(dtrunc(x, distr="norm", lwr=-0.75, upr=0.25), add=TRUE, col=3, n=n)
-curve(dtrunc(x, distr="norm", lwr=-1, upr=1), add=TRUE, col=2, n=n)
library(shiny)
-library(intrval)
-library(qcc)
-
-data(pistonrings)
-mu <- mean(pistonrings$diameter[pistonrings$trial])
-SD <- sd(pistonrings$diameter[pistonrings$trial])
-x <- pistonrings$diameter[!pistonrings$trial]
-
-## UI function
-ui <- fluidPage(
- plotOutput("plot"),
- sliderInput("x", "x SD:",
- min=0, max=5, value=0, step=0.1,
- animate=animationOptions(100)
- )
-)
-
-# Server logic
-server <- function(input, output) {
- output$plot <- renderPlot({
- Main <- paste("Shewhart quality control chart",
- "diameter of piston rings", sprintf("+/- %.1f SD", input$x),
- sep="\n")
- iv <- mu + input$x * c(-SD, SD)
- plot(x, pch = 19, col = x %)(% iv +1, type = "b",
- ylim = mu + 5 * c(-SD, SD), main = Main)
- abline(h = mu)
- abline(h = iv, lty = 2)
- })
-}
-
-## Run shiny app
-if (interactive()) shinyApp(ui, server)
library(shiny)
-library(intrval)
-
-set.seed(1)
-n <- 10^4
-x <- round(runif(n, -2, 2), 2)
-y <- round(runif(n, -2, 2), 2)
-d <- round(sqrt(x^2 + y^2), 2)
-
-## UI function
-ui <- fluidPage(
- titlePanel("intrval example with shiny"),
- sidebarLayout(
- sidebarPanel(
- sliderInput("bb_x", "x value:",
- min=min(x), max=max(x), value=range(x),
- step=round(diff(range(x))/20, 1), animate=TRUE
- ),
- sliderInput("bb_y", "y value:",
- min = min(y), max = max(y), value = range(y),
- step=round(diff(range(y))/20, 1), animate=TRUE
- ),
- sliderInput("bb_d", "radial distance:",
- min = 0, max = max(d), value = c(0, max(d)/2),
- step=round(max(d)/20, 1), animate=TRUE
- )
- ),
- mainPanel(
- plotOutput("plot")
- )
- )
-)
-
-# Server logic
-server <- function(input, output) {
- output$plot <- renderPlot({
- iv1 <- x %[]% input$bb_x & y %[]% input$bb_y
- iv2 <- x %[]% input$bb_y & y %[]% input$bb_x
- iv3 <- d %()% input$bb_d
- op <- par(mfrow=c(1,2))
- plot(x, y, pch = 19, cex = 0.25, col = iv1 + iv2 + 3,
- main = "Intersecting bounding boxes")
- plot(x, y, pch = 19, cex = 0.25, col = iv3 + 1,
- main = "Deck the halls:\ndistance range from center")
- par(op)
- })
-}
-
-## Run shiny app
-if (interactive()) shinyApp(ui, server)
NEWS.md
- cut.Rd
Functions for evaluating if values of vectors are within intervals,
-or less than or higher than interval endpoints.
-The c
within the brackets refer to cut
,
-a similar function.
x %[c]% interval -x %[c)% interval -x %(c]% interval -x %(c)% interval- -
x | -vector or |
-
---|---|
interval | -vector, 2-column matrix, list, or |
-
Values of x
are compared to interval
endpoints
-a and b (a <= b) (see %[]%
for details).
-The functions return an integer vector taking values
--1L
(value of x
is less than or equal to a,
-depending on the interval type),
-0L
(value of x
is inside the interval), or
-1L
(value of x
is greater than or equal to b,
-depending on the interval type).
Similar functions (but not quite): sign
,
-cut
, .bincode
, findInterval
.
See relational operators for intervals: %[]%
.
See Syntax
for operator precedence.
-#> [1] -1 0 0 0 1#> [1] -1 0 0 1 1#> [1] -1 -1 0 0 1#> [1] -1 -1 0 1 1
- All functions- - |
- |
---|---|
- - | -Dividing a Range Into 3 Intervals |
-
- - | -Relational Operators for Intervals |
-
-
|
- Relational Operators Comparing Values to Intervals |
-
- - | -Negated Value Matching |
-
-
|
- Relational Operators Comparing Two Intervals |
-
intrval-package.Rd
Evaluating if values - of vectors are within different open/closed intervals - (`x - intervals overlap (`c(a1, b1) - Operators for negation and directional relations also implemented.
-The DESCRIPTION file:
-This package was not yet installed at build time.
-
-
-Index: This package was not yet installed at build time.
Relational operators for value-to-interval comparisons:
-%[]%
and alikes.
Relational operators for interval-to-interval comparisons:
-%[o]%
and alikes.
Negated value matching: %ni%
.
intrval.Rd
Functions for evaluating if values of vectors are within intervals.
-x %[]% interval -x %)(% interval -x %[<]% interval -x %[>]% interval - -x %[)% interval -x %)[% interval -x %[<)% interval -x %[>)% interval - -x %(]% interval -x %](% interval -x %(<]% interval -x %(>]% interval - -x %()% interval -x %][% interval -x %(<)% interval -x %(>)% interval - -intrval_types(type = NULL, plot = FALSE)- -
x | -vector or |
-
---|---|
interval | -vector, 2-column matrix, list, or |
-
type | -character, type of operator for subsetting the results. The default |
-
plot | -logical, whether to plot the results, or print a table to the console instead. |
-
Values of x
are compared to interval
endpoints
-a and b (a <= b).
-Endpoints can be defined as a vector with two values
-(c(a, b)
): these values will be compared as a single
-interval with each value in x
.
-If endpoints are stored in a matrix-like object or a list,
-comparisons are made element-wise. If lengths do not match,
-shorter objects are recycled.
-These value-to-interval operators work for numeric (integer, real)
-and ordered vectors, and object types which are measured at
-least on ordinal scale (e.g. dates), see Examples.
-Note: interval endpoints are sorted internally thus ensuring the condition
-a <= b is not necessary.
The type
argument or the specification of the special function
-determines the open ((
and )
) or
-closed ([
and ]
) endpoints and relations.
There are four types of intervals ([]
, [)
, (]
, ()
),
-their negation ()(
, )[
, ](
, ][
, respectively),
-less than ([<]
, [<)
, (<]
, (<)
),
-and greater than ([>]
, [>)
, (>]
, (>)
) relations.
Note that some operators return identical results but
-are syntactically different:
-%[<]%
and %[<)%
both evaluate x < a
;
-%[>]%
and %(>]%
both evaluate x > b
;
-%(<]%
and %(<)%
evaluate x <= a
;
-%[>)%
and %(>)%
both evaluate x >= b
.
-This is so because we evaluate only one end of the interval
-but still conceptually referring to the relationship
-defined by the right-hand-side interval
object
-and given that a <= b.
-This implies 2 conditional logical evaluations
-instead of treating it as a single 3-level ordered factor.
A logical vector, indicating if x
is in the specified interval.
-Values are TRUE
, FALSE
, or NA
-(when any of the 3 values (x
or endpoints in interval
)
-are NA
).
The helper function intrval_types
-can be used to understand and visualize the operators' effects.
-It returns a matrix explaining the properties of the operators.
See help page for relational operators: Comparison
.
See %[o]%
for relational operators for
-interval-to-interval comparisons.
See factor
for the behavior with factor arguments.
-See also %in%
for value matching
-and %ni%
for negated value matching
-for factors.
See Syntax
for operator precedence.
-## motivating example from example(lm) - -## Annette Dobson (1990) "An Introduction to Generalized Linear Models". -## Page 9: Plant Weight Data. -ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) -trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) -group <- gl(2, 10, 20, labels = c("Ctl","Trt")) -weight <- c(ctl, trt) -lm.D9 <- lm(weight ~ group) -## compare 95% confidence intervals with 0 -(CI.D9 <- confint(lm.D9))#> 2.5 % 97.5 % -#> (Intercept) 4.56934 5.4946602 -#> groupTrt -1.02530 0.28330030 %[]% CI.D9#> (Intercept) groupTrt -#> FALSE TRUE-## comparing dates - -DATE <- as.Date(c("2000-01-01","2000-02-01", "2000-03-31")) -DATE %[<]% as.Date(c("2000-01-151", "2000-03-15"))#> [1] TRUE FALSE FALSE#> [1] FALSE TRUE FALSE#> [1] FALSE FALSE TRUE#> x a b -#> [1,] 4 1 3 -#> [2,] 4 2 4 -#> [3,] 4 3 5 -#> [4,] 4 4 6 -#> [5,] 4 5 7#> [1] FALSE TRUE TRUE TRUE FALSE#> [1] FALSE TRUE TRUE TRUE FALSE#> [1] FALSE TRUE TRUE TRUE FALSE-## helper functions - -intrval_types() # print#> Expression Visual Condition -#> %[]% x %[]% c(a, b) ---x===x--- x >= a & x <= b -#> %)(% x %)(% c(a, b) ===o---o=== x < a | x > b -#> %[<]% x %[<]% c(a, b) ===o---o--- x < a -#> %[>]% x %[>]% c(a, b) ---o---o=== x > b -#> %[)% x %[)% c(a, b) ---x===o--- x >= a & x < b -#> %)[% x %)[% c(a, b) ===o---x=== x < a | x >= b -#> %[<)% x %[<)% c(a, b) ===o---o--- x < a -#> %[>)% x %[>)% c(a, b) ---o---x=== x >= b -#> %(]% x %(]% c(a, b) ---o===x--- x > a & x <= b -#> %](% x %](% c(a, b) ===x---o=== x <= a | x > b -#> %(<]% x %(<]% c(a, b) ===x---o--- x <= a -#> %(>]% x %(>]% c(a, b) ---o---o=== x > b -#> %()% x %()% c(a, b) ---o===o--- x > a & x < b -#> %][% x %][% c(a, b) ===x---x=== x <= a | x >= b -#> %(<)% x %(<)% c(a, b) ===x---o--- x <= a -#> %(>)% x %(>)% c(a, b) ---o---x=== x >= bintrval_types(plot = TRUE) # plot-## graphical examples - -## bounding box -set.seed(1) -n <- 10^4 -x <- runif(n, -2, 2) -y <- runif(n, -2, 2) -iv1 <- x %[]% c(-1, 1) & y %[]% c(-1, 1) -plot(x, y, pch = 19, cex = 0.25, col = iv1 + 1, main = "Bounding box")-## time series filtering -x <- seq(0, 4*24*60*60, 60*60) -dt <- as.POSIXct(x, origin="2000-01-01 00:00:00") -f <- as.POSIXlt(dt)$hour %[]% c(0, 11) -plot(sin(x) ~ dt, type="l", col="grey", - main = "Filtering date/time objects")#> [1] FALSE TRUE TRUE FALSE FALSE#> [1] 0 0 0 2 2#> [1] 2 0 0 0 0#> [1] 0 4 4 0 0
ni.Rd
%ni%
is the negation of %in%
,
-which returns a logical vector indicating if there is a non-match or not
-for its left operand. %nin%
and %notin%
are aliases for
-better code readability (%in%
can look very much like %ni%
).
x %ni% table -x %nin% table -x %notin% table- -
x | -vector or |
-
---|---|
table | -vector or |
-
A logical vector, indicating if a non-match was located for each element of
-x
: thus the values are TRUE
or FALSE
and never NA
.
All the opposite of what is written for %in%
.
See relational operators for intervals: %[]%
.
See Syntax
for operator precedence.
-#> [1] FALSE TRUE FALSE TRUE FALSE TRUE TRUE TRUE FALSE TRUE#> [1] FALSE TRUE FALSE TRUE FALSE TRUE TRUE TRUE FALSE TRUE#> [1] FALSE TRUE FALSE TRUE FALSE TRUE TRUE TRUE FALSE TRUE#> [1] "ab" "bba" NA "@" "bla" "Ba" "%"
ovrlap.Rd
Functions for evaluating if two intervals overlap or not.
-interval1 %[o]% interval2 -interval1 %)o(% interval2 -interval1 %[<o]% interval2 -interval1 %[o>]% interval2 - -interval1 %(o)% interval2 -interval1 %]o[% interval2 -interval1 %(<o)% interval2 -interval1 %(o>)% interval2 - -interval1 %[]o[]% interval2 -interval1 %[]o[)% interval2 -interval1 %[]o(]% interval2 -interval1 %[]o()% interval2 -interval1 %[)o[]% interval2 -interval1 %[)o[)% interval2 -interval1 %[)o(]% interval2 -interval1 %[)o()% interval2 -interval1 %(]o[]% interval2 -interval1 %(]o[)% interval2 -interval1 %(]o(]% interval2 -interval1 %(]o()% interval2 -interval1 %()o[]% interval2 -interval1 %()o[)% interval2 -interval1 %()o(]% interval2 -interval1 %()o()% interval2- -
interval1, interval2 | -vector, 2-column matrix, list, or |
-
---|
The operators define the open/closed nature of the lower/upper
-limits of the intervals on the left and right hand side of the o
-in the middle.
The overlap of two closed intervals, [a1, b1] and [a2, b2],
-is evaluated by the %[o]%
(alias for %[]o[]%
)
-operator (a1 <= b1, a2 <= b2).
-Endpoints can be defined as a vector with two values
-(c(a1, b1)
)or can be stored in matrix-like objects or a lists
-in which case comparisons are made element-wise.
-If lengths do not match, shorter objects are recycled.
-These value-to-interval operators work for numeric (integer, real)
-and ordered vectors, and object types which are measured at
-least on ordinal scale (e.g. dates), see Examples.
-Note: interval endpoints
-are sorted internally thus ensuring the conditions
-a1 <= b1 and a2 <= b2 is not necessary.
-%)o(%
is used for the negation of two closed interval overlap,
-directional evaluation is done via the operators
-%[<o]%
and %[o>]%
.
The overlap of two open intervals
-is evaluated by the %(o)%
(alias for %()o()%
).
-%]o[%
is used for the negation of two open interval overlap,
-directional evaluation is done via the operators
-%(<o)%
and %(o>)%
.
Overlap operators with mixed endpoint do not have -negation and directional counterparts.
-A logical vector, indicating if interval1
overlaps interval2
.
-Values are TRUE
, FALSE
, or NA
.
See help page for relational operators: Comparison
.
See %[]%
for relational operators for
-value-to-interval comparisons.
See factor
for the behavior with factor arguments.
-See also %in%
for value matching
-and %ni%
for negated value matching
-for factors.
See Syntax
for operator precedence.
-## motivating examples from example(lm) - -## Annette Dobson (1990) "An Introduction to Generalized Linear Models". -## Page 9: Plant Weight Data. -ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) -trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) -group <- gl(2, 10, 20, labels = c("Ctl","Trt")) -weight <- c(ctl, trt) -lm.D90 <- lm(weight ~ group - 1) # omitting intercept -## compare 95% confidence of the 2 groups to each other -(CI.D90 <- confint(lm.D90))#> 2.5 % 97.5 % -#> groupCtl 4.56934 5.49466 -#> groupTrt 4.19834 5.12366CI.D90[1,] %[o]% CI.D90[2,]#> 2.5 % -#> TRUE#> [1] FALSE#> [1] FALSE TRUE TRUE TRUE FALSE#> [1] FALSE TRUE TRUE TRUE FALSE#> [1] FALSE TRUE TRUE TRUE FALSE#> [1] FALSE TRUE TRUE TRUE FALSE#> [1] FALSE TRUE TRUE TRUE FALSE#> [1] FALSE TRUE TRUE TRUE FALSE#> [1] FALSE TRUE TRUE TRUE FALSE#> [1] FALSE TRUE TRUE TRUE FALSE#> [1] TRUE FALSE FALSE FALSE TRUE#> [1] FALSE FALSE FALSE FALSE TRUE#> [1] TRUE FALSE FALSE FALSE FALSE#> [1] FALSE FALSE TRUE FALSE FALSE#> [1] FALSE FALSE TRUE FALSE FALSE#> [1] TRUE TRUE FALSE TRUE TRUE#> [1] FALSE FALSE FALSE TRUE TRUE#> [1] TRUE TRUE FALSE FALSE FALSE-dt1 <- as.Date(c("2000-01-01", "2000-03-15")) -dt2 <- as.Date(c("2000-03-15", "2000-06-07")) - -dt1 %[]o[]% dt2#> [1] TRUEdt1 %[]o[)% dt2#> [1] TRUEdt1 %[]o(]% dt2#> [1] FALSEdt1 %[]o()% dt2#> [1] FALSEdt1 %[)o[]% dt2#> [1] FALSEdt1 %[)o[)% dt2#> [1] FALSEdt1 %[)o(]% dt2#> [1] FALSEdt1 %[)o()% dt2#> [1] FALSEdt1 %(]o[]% dt2#> [1] TRUEdt1 %(]o[)% dt2#> [1] TRUEdt1 %(]o(]% dt2#> [1] FALSEdt1 %(]o()% dt2#> [1] FALSEdt1 %()o[]% dt2#> [1] FALSEdt1 %()o[)% dt2#> [1] FALSEdt1 %()o(]% dt2#> [1] FALSEdt1 %()o()% dt2#> [1] FALSE#> [1] TRUE#> [1] 2#> [1] 0#> [1] 4