Create a revisit design for panels in a survey that specifies the time periods that members of each panel will be sampled. Three basic panel design structures may be created: always revisit panel, serially alternating panels, or rotating panels.
revisit_dsgn(n_period, panels, begin = 1, skip = 1)
Number of time periods for the panel design. For example, number of periods if sampling occurs once per period or number of months if sampling occurs once per month.
List of lists where each list specifies a revisit panel
structure. Each sublist consists of four components: n
- sample size for
each panel in the sublist, pnl_dsgn
- a vector with an even number of
elements specifying the panel revisit schedule in terms of the number of
consecutive time periods sample units will be sampled, followed by number
of consecutive time periods skipped, and then repeated as necessary. pnl_n
- number of panels in the sublist, and start_option
- option for starting
the revisit_dsgn
(None
, Partial_Begin
, or Partial_End
)
which must be the same a pnl_dsgn
. Three basic panel
structures are possible: a) if pnl_dsgn
ends in 0
, then the sample units
are visited on all subsequent time periods, b) if pnl_dsgn
ends in NA
, then
panel follows a rotating panel structure, and c) if pnl_dsgn
ends in any
number > 0
, then panel follows a serially alternating panel structure. See
details for further information.
Numeric name of first sampling occasion, e.g. a specific period.
Number of time periods to skip between planned sampling
periods, e.g., sampling will occur only every 5 periods if skip = 5
.
A two-dimensional array of sample sizes to be sampled at each combination of panel and time period.
The function creates revisit designs using the concepts in McDonald (2003) to specify the revisit pattern across time periods for each panel. The panel revisit schedule is specified by a vector. Odd positions in vector specify the number of consecutive time periods when panel units are sampled. Even positions in vector specify the number of consecutive time periods when panel units are not sampled.
If last even position is a "0"
, then a single panel follows an always
revisit panel structure. After satisfying the initial revisit schedule
specified prior to the "0"
, units in a panel are always visited for rest of
the time periods. The simplest always revisit panel design is to revisit
every sample unit on every time period, specified as pnl_dsgn = c(1,0)
or
using McDonald's notation [1-0].
If the last even position is NA
, the panels follow a rotating panel
structure. For example, pnl_dsgn = c(1, NA)
designates that sample units in
a panel will be visited once and then never again, [1-n] in McDonald's
notation. pnl_dsgn =c(1, 4, 1, NA)
designates that sample units in a panel
will be visited once, then not sampled on next four time periods, then
sampled again once at the next time period and then never sampled again,
[1-4-1-n] in McDonald/s notation.
If the last even position is > 0
, the panels follow a serially alternating
panel structure. For example, pnl_dsgn = c(1, 4)
designates that sample
units in a panel will be visited once, then not sampled during the next
four time periods, then sampled once and not sampled for next four time
periods, and that cycle repeated until end of the number of time periods,
[1-4] in McDonald's notation. pnl_dsgn = c(2, 3, 1, 4)
designates that the
cycle has sample units in a panel being visited during two consecutive time
periods, not sampled for three consecutive time periods, sampled for one time
period and then not sampled on next four time periods, and the cycle is
repeated until end of the number of time periods, [2-3-1-4] in McDonald's
notation.
The number of panels in a single panel design is specified by pnl_n
. For
an always revisit panel structure, a single panel is created and pnl_n
is
ignored. For a rotating panel structure, when pnl_n = NA
, the number of
panels is equal to n_period. Note that this should only be used when the
rotating panel structure is the only panel design, i.e., no split panel
design (see below for split panel details). If pnl_n = m
is specified for a
rotating panel design, then then number of panels will be m
. For example,
pnl_dsgn = c( 1, 4, 1, NA)
and and pnl_n = 5
means that only 5 panels will
be constructed and the last time period to be sampled will be time period
10. In McDonald's notation the panel design structure is [(1-4-1-n)^5]. If
the number of time periods, n_period
, is 20 and no other panel design
structure is specified, then the last 10 time periods will not be sampled.
For serially alternating panels, when pnl_n = NA
, the number of panels will
be the sum of the elements in pan_dsgn (ignoring NA
). If pnl_n
is specified
as m
, then m
panels will be created. For example, pnl_dsgn = c(1, 4, 1, 4)
and pnl_n = 3
, [(1-4-1-4)^3] in McDonald's notation, will create first three
panels of the 510 serially alternating panels specified by pnl_dsgn
.
A serially alternating or rotating panel revisit design may not result in
the same number of units being sampled during each time period,
particularly during the initial start up period. The default is to not
specify a startup option ("None"
). Start up option "Partial_Begin"
initiates the revisit design at the last time period scheduled for sampling
in the first panel. For example, a [2-3-1-4] design starts at time period 6
instead of time period 1 under the Partial_Begin option. For a serially
alternating panel structure, start up option "Partial_End"
initiates the
revisit design at the time period that begins the second serially
alternating pattern. For example, a [2-3-1-4] design starts at time period
11 instead of time period 1. For a rotating panel structure design, use of
Partial_End makes the assumption that the number of panels equals the
number of time periods and adds units to the last "m" panels for time
periods 1
to "m"
as if number of time periods was extended by "m"
where "m"
is one less than then the sum of the panel design. For example, a
[1-4-1-4-1-n] design would result in m = 10
. Note that some designs with
pnl_n
not equal to the number of sample occasions can produce unexpected
panel designs. See examples.
Different types of panel structures can be combined, these are termed split panels by many authors, by specifying more than one list for the panels parameter. The total number of panels is the sum of the number of panels in each of the panel structures specified by the split panel design.
McDonald, T. (2003). Review of environmental monitoring methods: survey designs. Environmental Monitoring and Assessment 85, 277-292.
revisit_bibd
to create a balanced incomplete block panel revisit design
revisit_rand
to create a revisit design with random assignment to panels and time periods
pd_summary
to summarize characteristics of a panel revisit design
# One panel of 60 sample units sampled at every time period: [1-0]
revisit_dsgn(20, panels = list(
Annual = list(
n = 60, pnl_dsgn = c(1, 0), pnl.n = NA,
start_option = "None"
)
), begin = 1)
#> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#> Annual 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60
#> attr(,"class")
#> [1] "paneldesign"
# Rotating panels of 60 units sampled once and never again: [1-n]. Number
# of panels equal n_period.
revisit_dsgn(20,
panels = list(
R60N = list(n = 60, pnl_dsgn = c(1, NA), pnl_n = NA, start_option = "None")
),
begin = 1
)
#> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#> R60N_01 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_02 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_03 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_04 0 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_05 0 0 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_06 0 0 0 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_07 0 0 0 0 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_08 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_09 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0 0 0 0 0
#> R60N_10 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0 0 0 0
#> R60N_11 0 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0 0 0
#> R60N_12 0 0 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0 0
#> R60N_13 0 0 0 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0
#> R60N_14 0 0 0 0 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0
#> R60N_15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0
#> R60N_16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 0 0 0 0
#> R60N_17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 0 0 0
#> R60N_18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 0 0
#> R60N_19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 0
#> R60N_20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60
#> attr(,"class")
#> [1] "paneldesign"
# Serially alternating panel with three visits to sample unit then skip
# next two time periods: [3-2]
revisit_dsgn(20, panels = list(
SA60PE = list(
n = 20, pnl_dsgn = c(3, 2), pnl_n = NA,
start_option = "Partial_End"
)
), begin = 1)
#> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#> SA60PE_1 20 20 20 0 0 20 20 20 0 0 20 20 20 0 0 20 20 20 0 0
#> SA60PE_2 0 20 20 20 0 0 20 20 20 0 0 20 20 20 0 0 20 20 20 0
#> SA60PE_3 0 0 20 20 20 0 0 20 20 20 0 0 20 20 20 0 0 20 20 20
#> SA60PE_4 20 0 0 20 20 20 0 0 20 20 20 0 0 20 20 20 0 0 20 20
#> SA60PE_5 20 20 0 0 20 20 20 0 0 20 20 20 0 0 20 20 20 0 0 20
#> attr(,"class")
#> [1] "paneldesign"
# Split panel of sample units combining above two panel designs: [1-0, 1-n]
revisit_dsgn(n_period = 20, begin = 2017, panels = list(
Annual = list(
n = 60, pnl_dsgn = c(1, 0), pnl.n = NA,
start_option = "None"
),
R60N = list(n = 60, pnl_dsgn = c(1, NA), pnl_n = NA, start_option = "None")
))
#> 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030
#> Annual 60 60 60 60 60 60 60 60 60 60 60 60 60 60
#> R60N_01 60 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_02 0 60 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_03 0 0 60 0 0 0 0 0 0 0 0 0 0 0
#> R60N_04 0 0 0 60 0 0 0 0 0 0 0 0 0 0
#> R60N_05 0 0 0 0 60 0 0 0 0 0 0 0 0 0
#> R60N_06 0 0 0 0 0 60 0 0 0 0 0 0 0 0
#> R60N_07 0 0 0 0 0 0 60 0 0 0 0 0 0 0
#> R60N_08 0 0 0 0 0 0 0 60 0 0 0 0 0 0
#> R60N_09 0 0 0 0 0 0 0 0 60 0 0 0 0 0
#> R60N_10 0 0 0 0 0 0 0 0 0 60 0 0 0 0
#> R60N_11 0 0 0 0 0 0 0 0 0 0 60 0 0 0
#> R60N_12 0 0 0 0 0 0 0 0 0 0 0 60 0 0
#> R60N_13 0 0 0 0 0 0 0 0 0 0 0 0 60 0
#> R60N_14 0 0 0 0 0 0 0 0 0 0 0 0 0 60
#> R60N_15 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_16 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_17 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_18 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_19 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> R60N_20 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> 2031 2032 2033 2034 2035 2036
#> Annual 60 60 60 60 60 60
#> R60N_01 0 0 0 0 0 0
#> R60N_02 0 0 0 0 0 0
#> R60N_03 0 0 0 0 0 0
#> R60N_04 0 0 0 0 0 0
#> R60N_05 0 0 0 0 0 0
#> R60N_06 0 0 0 0 0 0
#> R60N_07 0 0 0 0 0 0
#> R60N_08 0 0 0 0 0 0
#> R60N_09 0 0 0 0 0 0
#> R60N_10 0 0 0 0 0 0
#> R60N_11 0 0 0 0 0 0
#> R60N_12 0 0 0 0 0 0
#> R60N_13 0 0 0 0 0 0
#> R60N_14 0 0 0 0 0 0
#> R60N_15 60 0 0 0 0 0
#> R60N_16 0 60 0 0 0 0
#> R60N_17 0 0 60 0 0 0
#> R60N_18 0 0 0 60 0 0
#> R60N_19 0 0 0 0 60 0
#> R60N_20 0 0 0 0 0 60
#> attr(,"class")
#> [1] "paneldesign"