Graphics functions which provide a simple, easy-to-learn interface, allowing beginners to explore and visualize data easily.
Easily install the latest release version from CRAN:
install.packages("iNZightRegression")
For the latest development version:
# install.packages("devtools")
devtools::install_github("iNZightVIT/iNZightTools")
devtools::install_github("iNZightVIT/iNZightMR")
devtools::install_github("iNZightVIT/iNZightPlots")
iNZightPlots
provides a simple interface to graphics, which are most
easily produced using the following function:
library(iNZightPlots)
inzplot(~Sepal.Length, data = iris)
From there, formula notation can be used to explore relationships between variables:
inzplot(Sepal.Length ~ Species, data = iris)
inzplot(Sepal.Length ~ Sepal.Width, data = iris)
inzplot(Sepal.Length ~ Sepal.Width | Species, data = iris)
These functions all produce different graphs (dot plot and scatter
plot), which means the focus is on exploring data, not on which type of
graph to use. Subsetting works as expected, and can include up to two
variables (e.g., y ~ x | g1 + g2
).
There are additionally two companion functions for summary and inference information, which are
inzsummary(~Sepal.Length, data = iris)
#> ====================================================================================================
#> iNZight Summary
#> ----------------------------------------------------------------------------------------------------
#> Primary variable of interest: Sepal.Length (numeric)
#>
#> Total number of observations: 150
#> ====================================================================================================
#>
#> Summary of Sepal.Length:
#> ------------------------
#>
#> Estimates
#>
#> Min 25% Median 75% Max Mean SD Sample Size
#> 4.3 5.1 5.8 6.4 7.9 5.843 0.8281 150
#>
#>
#> ====================================================================================================
inzinference(Sepal.Length ~ Species, data = iris)
#> ====================================================================================================
#> iNZight Inference using Normal Theory
#> ----------------------------------------------------------------------------------------------------
#> Primary variable of interest: Sepal.Length (numeric)
#> Secondary variable: Species (categorical)
#>
#> Total number of observations: 150
#> ====================================================================================================
#>
#> Inference of Sepal.Length by Species:
#> -------------------------------------
#>
#> Group Means with 95% Confidence Intervals
#>
#> Estimate Lower Upper
#> setosa 5.006 4.906 5.106
#> versicolor 5.936 5.789 6.083
#> virginica 6.588 6.407 6.769
#>
#> One-way Analysis of Variance (ANOVA F-test)
#>
#> F = 119.26, df = 2 and 147, p-value < 2.22e-16
#>
#> Null Hypothesis: true group means are all equal
#> Alternative Hypothesis: true group means are not all equal
#>
#> Pairwise differences in group means with 95% Confidence Intervals and P-values
#> (The CIs and P-values have been adjusted for multiple comparisons)
#>
#> Estimate Lower Upper P-value
#> ---------------------------------------------------------------------
#> setosa - versicolor -0.930 -1.1738 -0.6862 < 2.22e-16
#> setosa - virginica -1.582 -1.8258 -1.3382 < 2.22e-16
#>
#> versicolor - virginica -0.652 -0.8958 -0.4082 < 2.22e-16
#>
#>
#> Null Hypothesis: true difference in group means is zero
#> Alternative Hypothesis: true difference in group means is not zero
#>
#>
#> ====================================================================================================
These use the same notation as the plot, and are intended to be used alongside.
There are many, many features available in iNZightPlots
, all of which
are added simply through additional arguments to inzplot()
. For a full
list, check ?iNZightPlot
(this is the base function for which
inzplot()
is a convenience wrapper) and ?inzpar
.
Probably the most common features to add to a graph, we have the
sizeby
and colby
arguments which map an additional variable to size
and colour, respectively:
inzplot(Sepal.Length ~ Sepal.Width, data = iris, colby = Species)
Usually you want to know if what you see has any statistical
significance, and iNZightPlots
makes this easy. We also provide
comparison intervals which can be, very simply, interpreted as
“overlapping comparison intervals indicate no significant difference
between groups”.
# Add confidence intervals
inzplot(Sepal.Length ~ Species, data = iris,
inference.type = c("conf", "comp"), # red and black, respectively
inference.par = "mean"
)
For scatter plots, inference uses linear trends. You can add a bootstrap
sample of trend estimates using the bs.inference
argument:
inzplot(Sepal.Length ~ Sepal.Width, data = iris,
trend = "linear",
bs.inference = TRUE
)