Description Usage Arguments Value Examples
View source: R/04_stat_qc_violations.r
ggplot stat function that renders a faceted plot of QC violations based on the following 4 rules:
Violation Same Side: 8 or more consecutive, same-side points
Violation 1 Sigma: 4 or more consecutive, same-side points exceeding 1 sigma
Violation 2 Sigma: 2 or more consecutive, same-side points exceeding 2 sigma
Violation 3 Sigma: any points exceeding 3 sigma
1 2 3 4 5 6 | stat_qc_violations(mapping = NULL, data = NULL, geom = "point",
position = "identity", show.legend = NA, inherit.aes = TRUE,
na.rm = FALSE, method = "xBar.rBar", geom_points = TRUE,
geom_line = TRUE, point.size = 1.5, point.color = "black",
violation_point.color = "red", line.color = NULL,
rule.color = "darkgreen", show.facets = c(1:4), ...)
|
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
geom |
The geometric object to use display the data |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
na.rm |
a logical value indicating whether NA values should be stripped before the computation proceeds. |
method |
string, calling the following methods:
|
geom_points |
boolean, draw points |
geom_line |
boolean, draw line |
point.size |
number, size of points on chart |
point.color |
string, color of points on charts (e.g., "black") |
violation_point.color |
string, color of violation points on charts (e.g., "red") |
line.color |
string, color of lines connecting points |
rule.color |
string, color or horizontal rules indicating distribution center and sigma levels |
show.facets |
vector, selects violation facet 1 through 4. eg., c(1:4), c(1,4) |
... |
Other arguments passed on to |
faceted plot.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | #####################################
# Example 1: XmR Check Violations #
#####################################
# Load Libraries ----------------------------------------------------------
require(ggQC)
require(ggplot2)
# Setup Data --------------------------------------------------------------
set.seed(5555)
QC_XmR <- data.frame(
data = c(c(-1, 2.3, 2.4, 2.5), #Outlier Data
sample(c(rnorm(60),5,-5), 62, replace = FALSE), #Normal Data
c(1,-.3, -2.4,-2.6,-2.5,-2.7, .3)), #Outlier Data
Run_Order = 1:73 #Run Order
)
# Render QC Violation Plot ------------------------------------------------------
EX1 <- ggplot(QC_XmR, aes(x = Run_Order, y = data)) +
stat_qc_violations(method = "XmR") #Makes facet graph with violations
#EX1
#######################################
# Example 2: Xbar Check Violations #
#######################################
# Setup Some Data ------------------------------------------------------------
QC_xBar.rBar <- do.call(rbind, lapply(1:3, function(X){
set.seed(5555+X) #Loop over 3 seeds
data.frame(
sub_group = rep(1:42), #Define Subgroups
sub_class = letters[X],
c(
c(runif(n = 5, min = 2.0,3.2)), #Outlier Data
sample(c(rnorm(30),5,-4), 32, replace = FALSE), #Normal Data
c(runif(n = 5, min = -3.2, max = -2.0)) #Outlier Data
)
)
}
)
)
colnames(QC_xBar.rBar) <- c("sub_group","sub_class", "value")
# Render QC Violation Plot --------------------------------------------------
EX2 <- ggplot(QC_xBar.rBar, aes(x = sub_group, y = value)) +
stat_qc_violations(method = "xBar.rBar")
#stat_qc_violations(method="xBar.rMedian")
#stat_qc_violations(method="xBar.sBar")
#stat_qc_violations(method="xMedian.rBar")
#stat_qc_violations(method="xMedian.rMedian")
#EX2
#######################################
# Example 3: Selected Facets #
#######################################
# Render QC Violation Plot --------------------------------------------------
EX3 <- ggplot(QC_xBar.rBar, aes(x = sub_group, y = value)) +
stat_qc_violations(method = "xBar.rBar", show.facets = c(4))
#EX3
#######################################################
# Complete User Control - Bypass stat_qc_violation #
#######################################################
#### The code below has two options if you are looking for complete
#### control over the look and feel of the graph. Use option 1 or option
#### 2 as appropriate. If you want something quick and easy use examples above.
##### Option 1: Setup for XmR Type Data
# QC_XmR: Defined in Example 1
QC_Vs <- QC_Violations(data = QC_XmR$data, method = "XmR")
QC_Stats <- QC_Lines(data = QC_XmR$data, method = "XmR")
MEAN <- QC_Stats$mean
SIGMA <- QC_Stats$sigma
##### Option 2: Setup for xBar.rBar Type Data
# QC_xBar.rBar: Defined in Example 2
QC_Vs <- QC_Violations(data = QC_xBar.rBar,
formula = value~sub_group,
method = "xBar.rBar")
QC_Stats <- QC_Lines(data = QC_xBar.rBar,
formula = value~sub_group,
method = "xBar.rBar")
MEAN <- QC_Stats$xBar_Bar
SIGMA <- QC_Stats$sigma
##### Setup second table for horizontal rules
FacetNames <- c("Violation Same Side",
"Violation 1 Sigma",
"Violation 2 Sigma",
"Violation 3 Sigma")
QC_Vs$Violation_Result <- ordered(QC_Vs$Violation_Result,
levels=FacetNames)
QC_Stats_df <- data.frame(
Violation_Result = factor(x = FacetNames, levels = FacetNames),
SigmaPlus = MEAN+SIGMA*0:3,
MEAN = MEAN,
SigmaMinus = MEAN-SIGMA*0:3
)
##### Make the Plot
ggplot(QC_Vs, aes(x=Index, y=data, color=Violation, group=1)) +
geom_point() + geom_line() +
facet_grid(.~Violation_Result) +
geom_hline(data = QC_Stats_df, aes(yintercept = c(SigmaPlus))) +
geom_hline(data = QC_Stats_df, aes(yintercept = c(SigmaMinus))) +
geom_hline(data = QC_Stats_df, aes(yintercept = c(MEAN)))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.