diff --git a/NEWS b/NEWS index 381dcb8..6f7ffd6 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ qicharts2 0.4.0.9000 * P charts default to percentage on Y axis (thanks to Paul Wildehain). * Add qic.linecol, qic.signalcol, and qic.targetcol to options to allow for custom colours. * Add qic.clshade to options to allow for choosing between lines and shaded area for control limits. +* Fix typos in vignette (thanks to Rmadillo). qicharts2 0.4.0 =============== diff --git a/docs/LICENSE.html b/docs/LICENSE.html index 4051e72..b33218c 100644 --- a/docs/LICENSE.html +++ b/docs/LICENSE.html @@ -731,8 +731,8 @@
Walther A. Shewhart, who founded SPC, described two types of variation, chance cause variation and assignable cause variation. Today, the terms common cause and special cause variation are commonly used.
Common cause variation
is also called random variation or noise,
is also called natural/random variation or noise,
is present in all processes,
is caused by phenomena that are always present within the system,
makes the process predictable within limits.
makes the process unpredictable.
-A process will be said to be predictabe when, through the use of past experience, we can describe, at least within limits, how the process will behave in the future.
+A process will be said to be predictable when, through the use of past experience, we can describe, at least within limits, how the process will behave in the future.
Donald J. Wheeler. Understanding Variation, 2. ed., p 153
The overall purpose of SPC charts is to tell the two types of variation apart.
@@ -164,36 +164,36 @@Therefore, many additional tests have been proposed to increase the sensitivity to non-random variation.
-It is important to realise that while it may be tempting to apply more tests in order to increase the sensitivity of the chart, more test will increase the risk of false signals thereby reducing the specificity of the chart. The choice of which and how many tests to apply is therefore critical.
+It is important to realise that while it may be tempting to apply more tests in order to increase the sensitivity of the chart, more test will increase the risk of false signals, thereby reducing the specificity of the chart. The choice of which and how many tests to apply is therefore critical.
The Best known tests for non-random variation are probably the Western Electric Rules described in the Statistical Quality Control Handbook (Western Electric Company 1956). The WE rules consist of four simple tests that can be applied to control charts by visual inspection and are based on the identification of unusual patterns in the distribution of data points relative to the control and centre lines.
+The best known tests for non-random variation are probably the Western Electric Rules described in the Statistical Quality Control Handbook (Western Electric Company 1956). The WE rules consist of four simple tests that can be applied to control charts by visual inspection and are based on the identification of unusual patterns in the distribution of data points relative to the control and centre lines.
One or more points outside of the 3-sigma limits (Shewhart’s original 3-sigma rule).
Two out of three successive points beyond a 2-sigma limit (two thirds of the distance between the centre line and the control line).
Four out of five successive points beyond a 1-sigma limit.
A run of eight successive points on one side of the centre line.
The WE rules have proven their worth during half a century. One thing to notice is that the WE rules are most effective with control charts that have between 20 and 30 data points. With fewer data points, they loose sensitivity (more false negatives), and with more data points they loose specificity (more false positives).
+The WE rules have proven their worth during half a century. One thing to notice is that the WE rules are most effective with control charts that have between 20 and 30 data points. With fewer data points, they lose sensitivity (more false negatives), and with more data points they lose specificity (more false positives).
The least known tests for non-random variation are probably the Anhoej rules proposed and validated by me in two recent publications (Anhøj 2014, Anhøj 2015). The Anhoej rules are the core of qicharts2
and consist of two tests that are based solely on the distribution of data points in relation to the centre line:
The least known tests for non-random variation are probably the Anhøj rules, proposed and validated by me in two recent publications (Anhøj 2014, Anhøj 2015). The Anhøj rules are the core of qicharts2
, and consist of two tests that are based solely on the distribution of data points in relation to the centre line:
Unusually long runs: A run is one or more consecutive data points on the same side of the centre line. Data points that fall on the centre line do neither break nor contribute to the run. The upper 95% prediction limit for longest run is approximately \(log_2(n)+3\) (rounded to the nearest integer), where \(n\) is the number of useful data points. For example, in a run chart with 24 data points a run of more than round(log2(24) + 3)
= 8 would suggest a shift in the process.
Unusually long runs: A run is one or more consecutive data points on the same side of the centre line. Data points that fall on the centre line neither break nor contribute to the run. The upper 95% prediction limit for longest run is approximately \(log_2(n)+3\) (rounded to the nearest integer), where \(n\) is the number of useful data points. For example, in a run chart with 24 data points a run of more than round(log2(24) + 3)
= 8 would suggest a shift in the process.
Unusually few crossings: A crossing is when two consecutive data points are on opposite sides of the centre line. In a random process, the number of crossings has a binomial distribution, \(b(n-1,0.5)\). The lower 5% prediction limit for number of crossings is found using qbinom(p = 0.05, size = n - 1, prob = 0.5)
. Thus, in a run chart with 24 useful data points, fewer than qbinom(0.05, 24 - 1, 0.5)
= 8 crossings would suggest that the process is shifting.
Critical values for longest runs and number of crossings for 10 – 100 data points are tabulated in Appendix 2.
Apart from being comparable in sensitivity and specificity to WE rules 2-4 with 20-30 data points, the Anhøj rules have some advantages:
They do not depend on sigma limits and are useful as stand-alone rules with run charts.
They adapt dynamically to the number of available data points and can be applied to charts with as few as 10 and up to indefinitely many data points without loosing sensitivity and specificity.
They do not depend on sigma limits and thus are useful as stand-alone rules with run charts.
They adapt dynamically to the number of available data points, and can be applied to charts with as few as 10 and up to indefinitely many data points without losing sensitivity and specificity.
In the previous control chart, a shift of 2 standard deviations was introduced halfway through the process. While the shift is too small to be picked up by the 3-sigma rule, both Anhoej rules detect the signal. The longest run include 13 data points (upper limit = 8), and the number of crossings is 4 (lower limit = 8). Note that the shift is also picked up by WE rule 4.
-Non-random variation found by the Anhoej rules is visualised by qic()
using a red and dashed centre line.
In the previous control chart, a shift of 2 standard deviations was introduced halfway through the process. While the shift is too small to be picked up by the 3-sigma rule, both Anhøj rules detect the signal. The longest run includes 13 data points (upper limit = 8), and the number of crossings is 4 (lower limit = 8). Note that the shift is also picked up by WE rule 4.
+Non-random variation found by the Anhøj rules is visualised by qic()
using a red and dashed centre line.
The parameters of the analysis are available using the summary()
function on a qic object. See ?summary.qic
for details.
# Save qic object to o
o <- qic(y, chart = 'i')
@@ -206,14 +206,14 @@
#> 1 4 8 1 -2.114884 1.057091 4.229067
#> sigma.signal
#> 1 0
In summary, many additional test for special cause variation have been proposed since Shewhart invented the 3-sigma rule, and many tests are currently being used. The more tests that are applied to the analysis the higher the risk of false signals. qicharts2
takes a conservative approach by applying only three tests, the 3-sigma rule and the two Anhoej rules. That means that a signal from qic()
most likely represents a significant change in the underlying process.
Many additional tests for special cause variation have been proposed since Shewhart invented the 3-sigma rule, and many tests are currently being used. However, the more tests that are applied to the analysis, the higher the risk of false signals. qicharts2
takes a conservative approach by applying only three tests, the 3-sigma rule and the two Anhøj rules. That means that a signal from qic()
most likely represents a significant change in the underlying process.
By default, qic()
produces run charts. To make a control chart, the chart
argument must be specified.
While there is only one type of run charts, there are many types of control charts. Each type use an assumed probability model to compute the 3-sigma limits.
+While there is only one type of run chart, there are many types of control charts. Each type uses an assumed probability model to compute the 3-sigma limits.
qic()
includes eleven control charts.
I recommend to always begin any analysis with the “assumption free” run chart. If the Anhøj rules find non-random variation, it makes no sense to compute 3-sigma limits based on assumptions regarding the location and dispersion of data because these figures are meaningless when one or more shifts have already been identified.
+I recommend to always begin any analysis with the “assumption free” run chart. If the Anhøj rules find non-random variation, it makes no sense to compute 3-sigma limits based on assumptions regarding the location and dispersion of data, because these figures are meaningless when one or more shifts have already been identified.
Over the years, I have developed an increasing affection for the much-neglected run chart: a time plot of your process data with the median drawn in as a reference (yes, the median – not the average). It is “filter No. 1” for any process data and answers the question: “Did this process have at least one shift during this time period?” (This is generally signaled by a clump of eight consecutive data points either all above or below the median.)
If it did, then it makes no sense to do a control chart at this time because the overall average of all these data doesn’t exist. (Sort of like: If I put my right foot in a bucket of boiling water and my left foot in a bucket of ice water, on average, I’m pretty comfortable.)
@@ -297,7 +297,7 @@-
Case 1: Patient harm
-The gtt dataset contains data on patient harm during hospitalisation. Harm is defined as any unintended physical injury resulting from treatment or care during hospitalisation and not a result of the disease itself. The Global Trigger Tool is a methodology for detection of adverse events in hospital patients using a retrospective record review approach. Each month a random sample of 20 patient records is reviewed and the number of adverse events and patient days found in the sample are counted. See
+?gtt
for details.The
gtt
dataset contains data on patient harm during hospitalisation. Harm is defined as any unintended physical injury resulting from treatment or care during hospitalisation and not a result of the disease itself. The Global Trigger Tool is a methodology for detection of adverse events in hospital patients using a retrospective record review approach. Each month a random sample of 20 patient records is reviewed and the number of adverse events and patient days found in the sample are counted. See?gtt
for details.+#> 1 2010-01-01 5 113 3 20 +#> 2 2010-02-01 7 132 6 20 +#> 3 2010-03-01 5 121 4 20 +#> 4 2010-04-01 7 134 5 20 +#> 5 2010-05-01 7 116 7 20 +#> 6 2010-06-01 5 131 5 20head(gtt) #> admission_id admission_dte discharge_dte month days harms #> 1 1 2010-01-02 2010-01-03 2010-01-01 2 0 @@ -356,12 +356,12 @@
#> # A tibble: 6 x 5 #> month harms days n.harmed n #> <date> <dbl> <dbl> <int> <int> -#> 1 2010-01-01 5. 113. 3 20 -#> 2 2010-02-01 7. 132. 6 20 -#> 3 2010-03-01 5. 121. 4 20 -#> 4 2010-04-01 7. 134. 5 20 -#> 5 2010-05-01 7. 116. 7 20 -#> 6 2010-06-01 5. 131. 5 20
qic(month, n.harmed, n = n, data = gtt_by_month, @@ -379,8 +379,8 @@
ylab = NULL, xlab = 'Month')
Since both the harm rate and the proportion of harmed patients exhibit common cause variation only, we conclude that the risk of adverse events during hospitalisation is predictable and that we in the future should expect around 60 adverse events per 1000 patient days harming around 33% of patients.
-Actually, we often do not need to aggregate data in advance. With a little creativity we can make
+qic
do the hard work. The previous plot could have been produced with this code. Note the use of the original gtt dataset and the number of harmed and total number of patients created on the fly.Since both the harm rate and the proportion of harmed patients exhibit common cause variation only, we conclude that the risk of adverse events during hospitalisation is predictable: we in the future should expect around 60 adverse events per 1000 patient days, harming around 33% of patients (regardless of their length of stay), although harm rates anywhere between ~0 – 60% would be considered within common cause variation.
+Actually, we often do not need to aggregate data in advance. With a little creativity we can make
qic
do the hard work. The previous plot could have been produced with this code. Note the use of the originalgtt
dataset and the number of harmed and total number of patients created on the fly.qic(month, harms > 0, # TRUE if patient had one or more harms days > 0, # Always TRUE @@ -395,7 +395,7 @@
Pareto analysis of adverse event types and severity
The Pareto chart, named after Vilfred Pareto, was invented by Joseph M. Juran as a tool to identify the most important causes of a problem.
-Types and severity of adverse events in gtt are organised in an untidy wide format. Since
+paretochart()
needs a vector of categorical data we need to rearrange harm severity and harm category into separate columns.Types and severity of adverse events in
gtt
are organised in an untidy wide format. Sinceparetochart()
needs a vector of categorical data, we need to rearrange harm severity and harm category into separate columns.suppressPackageStartupMessages(library(tidyr)) gtt_ae_types <- gtt %>% @@ -429,8 +429,8 @@
-Case 2: Clostridium difficile infections
-The cdi dataset contains data on hospital acquired Clostridium difficile infections (CDI) before and after an intervention to reduce the risk of CDI. See
+Case 2: Clostridium difficile infections +?cdi
for details.The
cdi
dataset contains data on hospital acquired Clostridium difficile infections (CDI) before and after an intervention to reduce the risk of CDI. See?cdi
for details.head(cdi) #> month n days period notes #> 1 2012-11-01 17 14768.42 pre <NA> @@ -490,7 +490,7 @@
U chart for infection rate
-Until now we have assumed that the area of opportunity is constant, i.e. the number of patients or patient days have not changed significantly over time. When the area of opportunity varies, a U chart (U for unequal area of opportunity) is appropriate.
+Until now we have assumed that the area of opportunity, or exposure, is constant, i.e., the number of patients or patient days have not changed significantly over time. When the area of opportunity varies, a U chart (U for unequal area of opportunity) is more appropriate.
qic(month, n, days, data = cdi, chart = 'u', @@ -514,14 +514,14 @@
Is the new process behaviour desirable?
- Is it intended and expected that the new behaviour will continue?
If the answer to any of these question is “no” you should rather seek to find the assignable cause of the shift and, if need be, eliminate it.
+If the answer to any of these question is “no”, you should rather seek to find the assignable cause of the shift and, if need be, eliminate it.
Thus, when a deliberate change has been made to the process and the chart finds a shift attributable to this change, it may be time to recompute the limits.
Case 3: Coronary artery bypass graft
-The cabg dataset contains data on individual coronary artery bypass operations. See
+?cabg
for details.The
cabg
dataset contains data on individual coronary artery bypass operations. See?cabg
for details.-head(cabg) #> date age gender los death readmission #> 1 2011-07-01 72.534 Male 8 FALSE TRUE @@ -587,7 +587,7 @@
ylab = 'Years', xlab = 'Month')
Since both the Xbar and the S chart displays common cause variation, we may conclude that the monthly average and standard deviation of patient age is predictable. Note that the mean of the Xbar chart is close to the mean of the individuals chart but that the 3-sigma limits are narrower.
+Since both the Xbar and the S chart display common cause variation, we may conclude that the monthly average and standard deviation of patient age is predictable. Note that the mean of the Xbar chart is close to the mean of the individuals chart but that the 3-sigma limits are narrower.
-@@ -609,7 +609,7 @@
#> 4 2011-10-01 1 8 60 #> 5 2011-11-01 1 16 67 #> 6 2011-12-01 3 11 69
Then we use P charts for proportion defectives.
+Then we use P charts for proportion of readmissions.
qic(month, readmissions, n, data = cabg_by_month, chart = 'p', @@ -633,7 +633,7 @@
T and G charts for rare events
-Rare events are often better analysed as time or opportunities between events. First we need to calculate the number of surgeries and days between fatalities.
+Rare events are often better analysed as time or opportunities between events. First, we need to calculate the number of surgeries and days between fatalities.
fatalities <- cabg %>% mutate(x = row_number()) %>% filter(death) %>% @@ -702,7 +702,7 @@
Case 4: Faceting hospital infections by hospital and infection
-The hospital_infection dataset contains data on hospital acquired bacteremias (BAC), Clostridium difficile infections (CDI), and urinary tract infections (UTI) from six hospitals in the Capital Region of Denmark. See
+?hospital_infections
for details.The
hospital_infection
dataset contains data on hospital acquired bacteremias (BAC), Clostridium difficile infections (CDI), and urinary tract infections (UTI) from six hospitals in the Capital Region of Denmark. See?hospital_infections
for details.-head(hospital_infections) #> hospital infection month n days #> 1 AHH BAC 2015-01-01 17 17233.67 @@ -736,7 +736,7 @@
ylab = 'Cases per 10,000 risk days', xlab = 'Month')
Now each infection has its own facet We see that all three infections appear to be predictable and that UTI is the most common infection.
+Now each infection has its own facet. We see that all three infections appear to be predictable and that UTI is the most common infection.
But since these data come from six very different hospitals, we should also facet by hospital.
@@ -759,7 +759,7 @@
Funnels plot of infection rates by hospital
-Processes containing only common cause variation over time may be aggregated and compared across other units than time. When data have no natural time order, i.e. when the x variable is categorical the data points are not connected by lines and runs analysis is not performed. To produce a so called funnel plot of infections by hospital, we filter data from a recent stable period and reorder the x variable by size.
+Processes containing only common cause variation over time may be aggregated and compared across other units than time. When data have no natural time order, i.e., when the x variable is categorical, the data points are not connected by lines and runs analysis is not performed. To produce a funnel plot of infections by hospital, we filter data from a recent stable period and reorder the x variable by size.
-hai_2016 <- hospital_infections %>% filter(month >= '2016-07-01') %>% mutate(hospital = reorder(hospital, days)) @@ -777,15 +777,15 @@
ylab = 'Cases per 10,000 risk days', xlab = 'Hospital')
One hospital, NOH, have unusually few bacteremias and urinary tract infections compared to the other hospitals. Another hospital, BFH, have unusually many Clostridium difficile infections. The other hospitals are indistinguishable from each other with respect to the hospital infection rates.
-What can we learn from NOH and BFH? It is important to stress that data presented in funnel plots should be used for learning rather than for judgement. While it may be interesting for some in need of a “case” to point fingers at the good, the bad and the ugly, the full power of SPC will only be released when data are used for learning and improvement.
+One hospital, NOH, has unusually few bacteremias and urinary tract infections compared to the other hospitals. Another hospital, BFH, has unusually many Clostridium difficile infections. The other hospitals are indistinguishable from each other with respect to the hospital infection rates.
+What can we learn from NOH and BFH? It is important to stress that data presented in funnel plots should be used for learning rather than for judgement. While it may be interesting for some in need of a “case” to point fingers at the good, the bad, and the ugly, the full power of SPC will only be released when data are used for learning and improvement.
Case 5: Prime charts for count data with very large sample sizes
P and U charts with very large sample sizes sometimes produce narrow 3-sigma limits with most of the data points outside the limits even when the process is stable.
-The NHS accidents dataset contains the number of emergency patients seen within 4 hours of attendance. The sample sizes are very large (> 250,000). See
+?nhs_accidents
for details.The
nhs_accidents
dataset contains the number of emergency patients seen within 4 hours of attendance. The sample sizes are very large (> 250,000). See?nhs_accidents
for details.-head(nhs_accidents) #> i r n #> 1 1 266501 280443 @@ -804,8 +804,8 @@
ylab = NULL, xlab = 'Week #')
This is called over-dispersion and happens sometimes because data in practice rarely come from truly binomial or poisson distributions. When the sample sizes are small, this is not a problem. But as sample sizes increase (> 1000) it becomes apparent that the assumptions of constant proportions or rates between subgroups are not true.
-A simple test for over-dispersion is to apply an I chart. If the I chart gives 3-sigma limits that are very different from the U or P chart it is a signal that the underlying probability model of the U or P chart may not be correct.
+This is called over-dispersion, and happens sometimes because data in practice rarely come from truly binomial or poisson distributions. When the sample sizes are small, this is not a problem. But as sample sizes increase (> 1000) it becomes apparent that the assumptions of constant proportions or rates between subgroups are not true.
+A simple test for over-dispersion is to apply an I chart. If the I chart gives 3-sigma limits that are very different from the U or P chart, it is a signal that the underlying probability model of the U or P chart may not be correct.
qic(i, r, n = n, data = nhs_accidents, @@ -816,7 +816,7 @@
xlab = 'Week #')
In fact, since the I chart estimates 3-sigma limits based on the observed within subgroup variation in data rather than an assumed probability model, it is sort of like the Swiss army knife of SPC. Therefore, the I chart may be used when the true probability model of data is unknown.
-However, the I charts does not account for varying sample sizes and may give false signals when sample sizes vary significantly. Laney proposed an elegant solution that incorporates both the within and the between subgroup variation in the calculation of 3-sigma limits. This is what P’ (P prime) and U’ (U prime) charts are for. See Laney 2002 for details.
+However, the I chart does not account for varying sample sizes and may give false signals when sample sizes vary significantly. Laney proposed an elegant solution that incorporates both within and between subgroup variation in the calculation of 3-sigma limits. This is what P’ (P prime) and U’ (U prime) charts are for. See Laney 2002 for details.
-qic(i, r, n = n, data = nhs_accidents, @@ -826,16 +826,16 @@
ylab = NULL, xlab = 'Week #')
Laney notes that when over-dispersion is not present, prime charts will give the same results as traditional charts and recommends always to use prime charts for proportions and rates.
-Comparing P and P’ charts on readmission rates from the cabg dataset we find that while the 3-sigma limits in the P’ chart are a little wider, the two charts reach similar conclusions.
+Laney notes that when over-dispersion is not present, prime charts will give the same results as traditional charts, and recommends always to use prime charts for proportions and rates.
+Comparing P and P’ charts on readmission rates from the
cabg
dataset we find that while the 3-sigma limits in the P’ chart are a little wider, the two charts reach similar conclusions.Conclusion
-
qic()
fromqicharts2
provides a simple interface for constructing statistical process control charts for time series data.The default chart is a run chart, which tests for non-random variation in data over time using the Anhoej rules for unusually long runs and unusually few crossings. The Anhoej rules are most useful for detection of moderate, persistent shifts. To detect larger, possibly transient, shifts, control charts are useful.
-qic()
employs 11 types of control charts for different types of data.Since runs analysis based on the Anhoej rules makes no assumptions about the distribution of data, a run chart is the recommended starting point of any analysis of time series data. If the run chart finds random variation only, a control chart may then be used to identify transient shifts in data or to establish the natural process limits to be expected in the future.
+The default chart is a run chart, which tests for non-random variation in data over time using the Anhøj rules for unusually long runs and unusually few crossings. The Anhøj rules are most useful for detection of moderate, persistent shifts. To detect larger, possibly transient, shifts, control charts are useful.
+qic()
employs 11 types of control charts for different types of data.Since runs analysis based on the Anhøj rules makes no assumptions about the distribution of data, a run chart is the recommended starting point of any analysis of time series data. If the run chart finds random variation only, a control chart may then be used to identify transient shifts in data or to establish the natural process limits to be expected in the future.
@@ -872,8 +872,8 @@
I charts use the correction suggested by Nelson by excluding moving ranges above the upper range limit from calculations of the 3-sigma limits (Nelson 1982).
Runs analysis are not performed on MR charts since individual data points are correlated.
- 3-sigma limits for the T chart for time between rare events are calculated by applying an I chart to transformed data (\(y=y^{1/3.6}\)) and back transforming the 3-sigma limits (\(cl=cl^{3.6}\)).
- In prime charts the calculated standard deviation is multiplied by Laney’s correction factor, which is the average moving range of standardised y values divided by the constant 1.128 (Laney 2002).
+ Since the count data on a G chart are usually highly skewed, the centre line of the G chart is the median rather than the mean. This way the application of the Anhoej rules is still valid.
+ In prime charts, the calculated standard deviation is multiplied by Laney’s correction factor, which is the average moving range of standardised y values divided by the constant 1.128 (Laney 2002).
Since the count data on a G chart are usually highly skewed, the centre line of the G chart is the median rather than the mean. This way the application of the Anhøj rules is still valid.
@@ -1366,7 +1366,7 @@
Testing for special cause variation Choosing the right control chart Case 1: Patient harm -Case 2: Clostridium difficile infections +Case 2: Clostridium difficile infections Case 3: Coronary artery bypass graft Case 4: Faceting hospital infections by hospital and infection Case 5: Prime charts for count data with very large sample sizes diff --git a/docs/articles/qicharts2_files/figure-html/unnamed-chunk-33-1.svg b/docs/articles/qicharts2_files/figure-html/unnamed-chunk-33-1.svg index b83fd8d..cb8e7f0 100644 --- a/docs/articles/qicharts2_files/figure-html/unnamed-chunk-33-1.svg +++ b/docs/articles/qicharts2_files/figure-html/unnamed-chunk-33-1.svg @@ -152,14 +152,14 @@- + - + - + - + @@ -178,19 +178,19 @@ - - + + - + - + - + - + @@ -213,10 +213,10 @@ - - - - + + + + @@ -231,15 +231,15 @@ - - - - + + + + -+ - + diff --git a/docs/articles/qicharts2_files/figure-html/unnamed-chunk-34-1.svg b/docs/articles/qicharts2_files/figure-html/unnamed-chunk-34-1.svg index edf69d0..8bbb969 100644 --- a/docs/articles/qicharts2_files/figure-html/unnamed-chunk-34-1.svg +++ b/docs/articles/qicharts2_files/figure-html/unnamed-chunk-34-1.svg @@ -158,55 +158,55 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + + + + @@ -217,19 +217,19 @@ - + - - + + - - + + -- - + + + diff --git a/docs/articles/qicharts2_files/figure-html/unnamed-chunk-49-1.svg b/docs/articles/qicharts2_files/figure-html/unnamed-chunk-49-1.svg index 3b16afb..7ca8011 100644 --- a/docs/articles/qicharts2_files/figure-html/unnamed-chunk-49-1.svg +++ b/docs/articles/qicharts2_files/figure-html/unnamed-chunk-49-1.svg @@ -6,48 +6,57 @@ - + - + - + - + - + - + - ++ + + ++ + - + - + - + - + - + - + + ++ @@ -133,10 +142,19 @@ - + - ++ + + ++ + ++ + @@ -144,173 +162,185 @@ - -+ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + ++ - - - - - + + + + + + + + diff --git a/docs/articles/qicharts2_files/figure-html/unnamed-chunk-51-1.svg b/docs/articles/qicharts2_files/figure-html/unnamed-chunk-51-1.svg index 82a3776..d716b6b 100644 --- a/docs/articles/qicharts2_files/figure-html/unnamed-chunk-51-1.svg +++ b/docs/articles/qicharts2_files/figure-html/unnamed-chunk-51-1.svg @@ -6,49 +6,58 @@ - - - - - + + + + + + + -- ++ + - + - + - - - + + + - - - - + + + + -- - - - - - + + + + + + + - + - - + + - - + + - - + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - ++ + + ++ + ++ + - + - + - + - + - + - + - + @@ -142,6 +151,15 @@ + ++ + ++ + ++ @@ -175,47 +193,56 @@ + + - - - - - + + + + + + + ++ - - - - - + + + + + + + + - - - - - + + + + + + + -+ +- - + - - - + + - - - + + @@ -225,19 +252,19 @@ - + - - + + - - + + - + diff --git a/docs/index.html b/docs/index.html index eb61b24..c80909c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -128,7 +128,7 @@ Links
License
- +file LICENSE
Developers
- Jacob Anhoej
diff --git a/docs/reference/index.html b/docs/reference/index.html index c620928..96f6517 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -97,7 +97,7 @@
Author, maintainerReference - version 0.4.0 + version 0.4.0.9000