From 8d8b11b86b0614da2232fa8e9900b9d883623aa2 Mon Sep 17 00:00:00 2001 From: Edgar Ruiz Date: Fri, 12 Jul 2019 13:10:03 -0500 Subject: [PATCH] Addresses spell check warnings --- DESCRIPTION | 2 +- NEWS.md | 4 +- R/correlate.R | 2 +- R/output.R | 8 +- R/reshape.R | 4 +- R/retract.R | 2 +- README.Rmd | 4 +- README.md | 4 +- cran-comments.md | 2 +- man/correlate.Rd | 2 +- man/corrr-package.Rd | 2 +- man/focus_if.Rd | 2 +- man/network_plot.Rd | 6 +- man/retract.Rd | 2 +- man/rplot.Rd | 4 +- man/stretch.Rd | 2 +- tools/readme/combination-1.png | Bin 28784 -> 11821 bytes tools/readme/combination-2.png | Bin 39199 -> 17213 bytes vignettes/using-corrr.Rmd | 12 +- vignettes/using-corrr.html | 226 +++++++++--------- .../figure-html/unnamed-chunk-6-1.png | Bin 3131 -> 0 bytes .../figure-html/unnamed-chunk-7-1.png | Bin 3147 -> 0 bytes 22 files changed, 146 insertions(+), 144 deletions(-) delete mode 100644 vignettes/using-corrr_files/figure-html/unnamed-chunk-6-1.png delete mode 100644 vignettes/using-corrr_files/figure-html/unnamed-chunk-7-1.png diff --git a/DESCRIPTION b/DESCRIPTION index 6d8f337..75ffc47 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -6,7 +6,7 @@ Description: A tool for exploring correlations. It makes it possible to easily perform routine tasks when exploring correlation matrices such as ignoring the diagonal, focusing on the correlations of certain variables against others, - or rearranging and visualising the matrix in terms of the + or rearranging and visualizing the matrix in terms of the strength of the correlations. Authors@R: c(person(given = "Edgar", diff --git a/NEWS.md b/NEWS.md index 96f9cda..5a10f03 100644 --- a/NEWS.md +++ b/NEWS.md @@ -8,7 +8,7 @@ - Improves `correlate()` for database backed tables -- Fixes compatability issues with `dplyr` +- Fixes compatibility issues with `dplyr` # corrr 0.3.2 @@ -52,7 +52,7 @@ The `diagonal` argument of `as_matrix` and `as_matrix.cor_df` is now an optional ## Fixes -- When `legend = TRUE` (now the default setting), `rplot` and `network_plot` generate a single, unlabelled legend referring to the size of the correlations. +- When `legend = TRUE` (now the default setting), `rplot` and `network_plot` generate a single, unlabeled legend referring to the size of the correlations. ## Other diff --git a/R/correlate.R b/R/correlate.R index 1050db4..adafce7 100644 --- a/R/correlate.R +++ b/R/correlate.R @@ -10,7 +10,7 @@ #' \item A tibble (see \code{\link[tibble]{tibble}}) #' \item An additional class, "cor_df" #' \item A "rowname" column -#' \item Standardised variances (the matrix diagonal) set to missing values by +#' \item Standardized variances (the matrix diagonal) set to missing values by #' default (\code{NA}) so they can be ignored in calculations. #' } #' diff --git a/R/output.R b/R/output.R index e142b92..204354f 100644 --- a/R/output.R +++ b/R/output.R @@ -69,10 +69,10 @@ fashion.default <- function(x, decimals = 2, leading_zeros = FALSE, na_print = " #' #' @param rdf Correlation data frame (see \code{\link{correlate}}) or object #' that can be coerced to one (see \code{\link{as_cordf}}). -#' @param legend Boolean indicating whether a legend mapping the colours to the correlations should be displayed. +#' @param legend Boolean indicating whether a legend mapping the colors to the correlations should be displayed. #' @param shape \code{\link{geom_point}} aesthetic. #' @param print_cor Boolean indicating whether the correlations should be printed over the shapes. -#' @param colours,colors Vector of colours to use for n-colour gradient. +#' @param colours,colors Vector of colors to use for n-color gradient. #' @return Plots a correlation data frame #' @export #' @examples @@ -104,13 +104,13 @@ rplot.default <- function(rdf, ...) { #' #' Output a network plot of a correlation data frame in which variables that are #' more highly correlated appear closer together and are joined by stronger -#' paths. Paths are also coloured by their sign (blue for positive and red for +#' paths. Paths are also colored by their sign (blue for positive and red for #' negative). The proximity of the points are determined using multidimensional #' clustering. #' #' @param min_cor Number from 0 to 1 indicating the minimum value of #' correlations (in absolute terms) to plot. -#' @param colours,colors Vector of colours to use for n-colour gradient. +#' @param colours,colors Vector of colors to use for n-color gradient. #' @param repel Should variable labels repel each other? If TRUE, text is added #' via \code{\link[ggrepel]{geom_text_repel}} instead of \code{\link[ggplot2]{geom_text}} #' @param curved Should the paths be curved? If TRUE, paths are added via diff --git a/R/reshape.R b/R/reshape.R index f84a58a..cbbfb70 100644 --- a/R/reshape.R +++ b/R/reshape.R @@ -60,7 +60,7 @@ focus_ <- function(x, ..., .dots, mirror) { #' Conditionally focus correlation data frame #' -#' Apply a predicate function to each colum of correlations. Columns that +#' Apply a predicate function to each column of correlations. Columns that #' evaluate to TRUE will be included in a call to \code{\link{focus}}. #' #' @param x Correlation data frame or object to be coerced to one via @@ -104,7 +104,7 @@ focus_if.default <- function(x, .predicate, ..., mirror = FALSE) { #' matrix diagonal) should be dropped? Will automatically be set to TRUE if #' mirror is FALSE. #' @param remove.dups Removes duplicate entries, without removing all NAs -#' @return tbl with three colums (x and y variables, and their correlation) +#' @return tbl with three columns (x and y variables, and their correlation) #' @export #' @examples #' x <- correlate(mtcars) diff --git a/R/retract.R b/R/retract.R index 9f52e73..854deda 100644 --- a/R/retract.R +++ b/R/retract.R @@ -1,4 +1,4 @@ -#' Creates a data frame from a streched correlation table +#' Creates a data frame from a stretched correlation table #' #' \code{retract} does the opposite of what \code{stretch} does #' diff --git a/README.Rmd b/README.Rmd index 1b6c5f8..59bf458 100644 --- a/README.Rmd +++ b/README.Rmd @@ -43,7 +43,7 @@ Using `corrr` typically starts with `correlate()`, which acts like the base corr - A `tbl` with an additional class, `cor_df` - An extra "rowname" column -- Standardised variances (the matrix diagonal) set to missing values (`NA`) so they can be ignored. +- Standardized variances (the matrix diagonal) set to missing values (`NA`) so they can be ignored. ### API @@ -59,7 +59,7 @@ Reshape structure (`tbl` or `cor_df` out): - `focus()` on select columns and rows. - `stretch()` into a long format. -Output/visualisations (console/plot out): +Output/visualizations (console/plot out): - `fashion()` the correlations for pretty printing. - `rplot()` the correlations with shapes in place of the values. diff --git a/README.md b/README.md index ee990d3..f198056 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ following structure: - A `tbl` with an additional class, `cor_df` - An extra “rowname” column - - Standardised variances (the matrix diagonal) set to missing values + - Standardized variances (the matrix diagonal) set to missing values (`NA`) so they can be ignored. ### API @@ -66,7 +66,7 @@ Reshape structure (`tbl` or `cor_df` out): - `focus()` on select columns and rows. - `stretch()` into a long format. -Output/visualisations (console/plot out): +Output/visualizations (console/plot out): - `fashion()` the correlations for pretty printing. - `rplot()` the correlations with shapes in place of the values. diff --git a/cran-comments.md b/cran-comments.md index a5febe9..3fe7571 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -4,7 +4,7 @@ * Adds `dice()` function, wraps `focus(x,..., mirror = TRUE)` * Adds `retract()` function, opposite of `stretch()` * Improves `correlate()` for database backed tables -* Fixes compatability issues with `dplyr` +* Fixes compatibility issues with `dplyr` ## Test environments * Local windows 10 install, R 3.6.0 diff --git a/man/correlate.Rd b/man/correlate.Rd index aa02b2c..97749bb 100644 --- a/man/correlate.Rd +++ b/man/correlate.Rd @@ -45,7 +45,7 @@ use of pairwise deletion by default. \item A tibble (see \code{\link[tibble]{tibble}}) \item An additional class, "cor_df" \item A "rowname" column - \item Standardised variances (the matrix diagonal) set to missing values by + \item Standardized variances (the matrix diagonal) set to missing values by default (\code{NA}) so they can be ignored in calculations. } } diff --git a/man/corrr-package.Rd b/man/corrr-package.Rd index d9a7584..118a315 100644 --- a/man/corrr-package.Rd +++ b/man/corrr-package.Rd @@ -12,7 +12,7 @@ A tool for exploring correlations. It makes it possible to easily perform routine tasks when exploring correlation matrices such as ignoring the diagonal, focusing on the correlations of certain variables against others, - or rearranging and visualising the matrix in terms of the + or rearranging and visualizing the matrix in terms of the strength of the correlations. } \seealso{ diff --git a/man/focus_if.Rd b/man/focus_if.Rd index 73ac9e0..4149b9b 100644 --- a/man/focus_if.Rd +++ b/man/focus_if.Rd @@ -23,7 +23,7 @@ not.} A tibble or, if mirror = TRUE, a correlation data frame. } \description{ -Apply a predicate function to each colum of correlations. Columns that +Apply a predicate function to each column of correlations. Columns that evaluate to TRUE will be included in a call to \code{\link{focus}}. } \examples{ diff --git a/man/network_plot.Rd b/man/network_plot.Rd index 6c4e071..d5132ad 100644 --- a/man/network_plot.Rd +++ b/man/network_plot.Rd @@ -15,9 +15,9 @@ that can be coerced to one (see \code{\link{as_cordf}}).} \item{min_cor}{Number from 0 to 1 indicating the minimum value of correlations (in absolute terms) to plot.} -\item{legend}{Boolean indicating whether a legend mapping the colours to the correlations should be displayed.} +\item{legend}{Boolean indicating whether a legend mapping the colors to the correlations should be displayed.} -\item{colours, colors}{Vector of colours to use for n-colour gradient.} +\item{colours, colors}{Vector of colors to use for n-color gradient.} \item{repel}{Should variable labels repel each other? If TRUE, text is added via \code{\link[ggrepel]{geom_text_repel}} instead of \code{\link[ggplot2]{geom_text}}} @@ -29,7 +29,7 @@ via \code{\link[ggrepel]{geom_text_repel}} instead of \code{\link[ggplot2]{geom_ \description{ Output a network plot of a correlation data frame in which variables that are more highly correlated appear closer together and are joined by stronger -paths. Paths are also coloured by their sign (blue for positive and red for +paths. Paths are also colored by their sign (blue for positive and red for negative). The proximity of the points are determined using multidimensional clustering. } diff --git a/man/retract.Rd b/man/retract.Rd index 1c268f7..8fc8c34 100644 --- a/man/retract.Rd +++ b/man/retract.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/retract.R \name{retract} \alias{retract} -\title{Creates a data frame from a streched correlation table} +\title{Creates a data frame from a stretched correlation table} \usage{ retract(.data, x, y, val) } diff --git a/man/rplot.Rd b/man/rplot.Rd index 9a5b97f..359ae1e 100644 --- a/man/rplot.Rd +++ b/man/rplot.Rd @@ -11,11 +11,11 @@ rplot(rdf, legend = TRUE, shape = 16, colours = c("indianred2", \item{rdf}{Correlation data frame (see \code{\link{correlate}}) or object that can be coerced to one (see \code{\link{as_cordf}}).} -\item{legend}{Boolean indicating whether a legend mapping the colours to the correlations should be displayed.} +\item{legend}{Boolean indicating whether a legend mapping the colors to the correlations should be displayed.} \item{shape}{\code{\link{geom_point}} aesthetic.} -\item{colours, colors}{Vector of colours to use for n-colour gradient.} +\item{colours, colors}{Vector of colors to use for n-color gradient.} \item{print_cor}{Boolean indicating whether the correlations should be printed over the shapes.} } diff --git a/man/stretch.Rd b/man/stretch.Rd index b67126d..a6aaff8 100644 --- a/man/stretch.Rd +++ b/man/stretch.Rd @@ -16,7 +16,7 @@ mirror is FALSE.} \item{remove.dups}{Removes duplicate entries, without removing all NAs} } \value{ -tbl with three colums (x and y variables, and their correlation) +tbl with three columns (x and y variables, and their correlation) } \description{ \code{stretch} is a specified implementation of tidyr::gather() to be applied diff --git a/tools/readme/combination-1.png b/tools/readme/combination-1.png index 6c63b64e57b60768bcf1cb6bf944b418b7588feb..78dd4b8c22dc6e8a6ee7180057e6fef07a155b6d 100644 GIT binary patch literal 11821 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%0DX0dgh#8ooy{JAo8p7>yo*rAz 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 literal 28784 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 diff --git a/tools/readme/combination-2.png b/tools/readme/combination-2.png index e458ce801eb492ec507d51f65a727df2b4b4a728..1391f46d40d0864a95e452fc93e134d77c071d27 100644 GIT binary patch literal 17213 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 NI!{+Wmvv4FO#l-89asPW diff --git a/vignettes/using-corrr.Rmd b/vignettes/using-corrr.Rmd index 24a9dd6..174c718 100644 --- a/vignettes/using-corrr.Rmd +++ b/vignettes/using-corrr.Rmd @@ -15,7 +15,7 @@ library(corrr) knitr::opts_chunk$set(collapse = TRUE, comment = "#>") ``` -corrr is a package for exploring **corr**elations in **R**. It makes it possible to easily perform routine tasks when exploring correlation matrices such as ignoring the diagonal, focusing on the correlations of certain variables against others, or rearranging and visualising the matrix in terms of the strength of the correlations. +corrr is a package for exploring **corr**elations in **R**. It makes it possible to easily perform routine tasks when exploring correlation matrices such as ignoring the diagonal, focusing on the correlations of certain variables against others, or rearranging and visualizing the matrix in terms of the strength of the correlations. ## Using corrr @@ -23,7 +23,7 @@ Using `corrr` starts with `correlate()`, which acts like the base correlation fu - A `tbl` with an additional class, `cor_df` - An extra "rowname" column -- Standardised variances (the matrix diagonal) set to missing values (`NA`) so they can be ignored. +- Standardized variances (the matrix diagonal) set to missing values (`NA`) so they can be ignored. To work with further, let's create a correlation data frame using `correlate()` from the `mtcars` data that comes with R: @@ -35,7 +35,7 @@ d ## Why a correlation data frame? -At first, a correlation data frame might seem like an unneccessary complexity compared to the traditional matrix. However, the purpose of corrr is to help use explore these correlations, not to do mathematical or statistical operations. Thus, by having the correlations in a data frame, we can make use of packages that help us work with data frames like `dplyr`, `tidyr`, `ggplot2`, and focus on using data pipelines. Lets look at some examples: +At first, a correlation data frame might seem like an unnecessary complexity compared to the traditional matrix. However, the purpose of corrr is to help use explore these correlations, not to do mathematical or statistical operations. Thus, by having the correlations in a data frame, we can make use of packages that help us work with data frames like `dplyr`, `tidyr`, `ggplot2`, and focus on using data pipelines. Lets look at some examples: ```{r, message=F, warning=F} library(dplyr) @@ -53,7 +53,7 @@ d %>% select(rowname, mpg, cyl, disp) ``` -Furthermore, by having the diagonal set to missing, we don't need to put in extra effort to ignore them when summarising the correlations. For example: +Furthermore, by having the diagonal set to missing, we don't need to put in extra effort to ignore them when summarizing the correlations. For example: ```{r, warning = FALSE, message = FALSE} # Compute mean of each column @@ -77,7 +77,7 @@ Reshape structure (`tbl` or `cor_df` out): - `focus()` on select columns and rows. - `stretch()` into a long format. -Output/visualisations (console/plot out): +Output/visualizations (console/plot out): - `fashion()` the correlations for pretty printing. - `rplot()` a shape for each correlation. @@ -100,7 +100,7 @@ d %>% fashion() # Print in nice format ``` -Alternatively, we can visualise these correlations (let's clear the lower triangle for a change): +Alternatively, we can visualize these correlations (let's clear the lower triangle for a change): ```{r, warning = FALSE} d %>% diff --git a/vignettes/using-corrr.html b/vignettes/using-corrr.html index 03f6c9e..2f473f8 100644 --- a/vignettes/using-corrr.html +++ b/vignettes/using-corrr.html @@ -12,7 +12,7 @@ - + Using corrr @@ -37,7 +37,7 @@ pre.numberSource a.sourceLine { position: relative; left: -4em; } pre.numberSource a.sourceLine::before - { content: attr(title); + { content: attr(data-line-number); position: relative; left: -1em; text-align: right; vertical-align: baseline; border: none; pointer-events: all; display: inline-block; -webkit-touch-callout: none; -webkit-user-select: none; @@ -303,94 +303,94 @@

Using corrr

Simon Jackson

-

2019-04-19

+

2019-07-12

-

corrr is a package for exploring correlations in R. It makes it possible to easily perform routine tasks when exploring correlation matrices such as ignoring the diagonal, focusing on the correlations of certain variables against others, or rearranging and visualising the matrix in terms of the strength of the correlations.

+

corrr is a package for exploring correlations in R. It makes it possible to easily perform routine tasks when exploring correlation matrices such as ignoring the diagonal, focusing on the correlations of certain variables against others, or rearranging and visualizing the matrix in terms of the strength of the correlations.

Why a correlation data frame?

-

At first, a correlation data frame might seem like an unneccessary complexity compared to the traditional matrix. However, the purpose of corrr is to help use explore these correlations, not to do mathematical or statistical operations. Thus, by having the correlations in a data frame, we can make use of packages that help us work with data frames like dplyr, tidyr, ggplot2, and focus on using data pipelines. Lets look at some examples:

- -

Furthermore, by having the diagonal set to missing, we don’t need to put in extra effort to ignore them when summarising the correlations. For example:

- +

At first, a correlation data frame might seem like an unnecessary complexity compared to the traditional matrix. However, the purpose of corrr is to help use explore these correlations, not to do mathematical or statistical operations. Thus, by having the correlations in a data frame, we can make use of packages that help us work with data frames like dplyr, tidyr, ggplot2, and focus on using data pipelines. Lets look at some examples:

+ +

Furthermore, by having the diagonal set to missing, we don’t need to put in extra effort to ignore them when summarizing the correlations. For example:

+

API

As the above section suggests, the corrr API is designed with data pipelines in mind (e.g., to use %>% from the magrittr package). After correlate(), the primary corrr functions take a cor_df as their first argument, and return a cor_df or tbl (or output like a plot). These functions serve one of three purposes:

@@ -404,7 +404,7 @@

API

  • focus() on select columns and rows.
  • stretch() into a long format.
  • -

    Output/visualisations (console/plot out):

    +

    Output/visualizations (console/plot out):

    • fashion() the correlations for pretty printing.
    • rplot() a shape for each correlation.
    • @@ -412,43 +412,45 @@

      API

    By combing these functions in data pipelines, it’s possible to easily explore your correlations.

    For example, lets focus on the correlations of mpg and cyl with all the others:

    - +

    Or maybe we want to focus in on a few variables (mirrored in rows too) and print the correlations without an upper triangle and fashioned to look nice:

    - -

    Alternatively, we can visualise these correlations (let’s clear the lower triangle for a change):

    - -

    + +

    Alternatively, we can visualize these correlations (let’s clear the lower triangle for a change):

    + +

    Perhaps we’d like to rearrange the correlations so that the plot becomes easier to interpret. In this case, we can add rearrange() into our pipeline before shaving one of the triangles (we’ll take correlation sign into account with absolute = FALSE).

    - -

    + +

    diff --git a/vignettes/using-corrr_files/figure-html/unnamed-chunk-6-1.png b/vignettes/using-corrr_files/figure-html/unnamed-chunk-6-1.png deleted file mode 100644 index d4858980dbb4c17eae6890ffd3bd1232200bb65b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3131 zcmbW4dpwle{>LXNgUV&QcH4xq4ZAJnlHxa#OyW!!r#8w#ZnG(rk}lJXm>A&@k;|xU znqxw!8Fz*mZMhAmT*8>#OXNN?F6)eE_Ure0o&V0+&ucyFwchLdU6=3ov!3U9J&({% zXLic%mV?1yJ5lzw&M?>(t<4+06$XRpcwQ=n!K99(&$*r!BMgRs!7wlc4u&Z}zz_%+ z27$mKa9k4;6UWU9>*z>y#EJ{Wkti-K4CIZ0VK4!b0Xh$q z4})?(s2m2>d{Fxt)Q^CMQNSWPvWQp~0PHdFZX7gEfYwRSHU&6eK-X8m#UZ%UfD6FK zY0&!(^v{5SS-|@ahUWmEg5|S_e7<;D@Od7LE`aexFtr4}EP?4|FyrGhjh|z-h zSivd~CdLW>NfM?$7E)da*EU4y$)eTu)y&k@?DW;@idE6tT5jgr^X#>{>NTNgJ)gWz zeX&8KY!p&AUeh)ND;olVI31v@2+&JF#T!sX2elP|StE`au zD5jI`2%15r8F_B;y9+*anX07xM~Ac7?|AqeJm}n!4^p_MIcvpU)idh1K_+mlZICE)GV7gg2htFuGbJ~}vkB8EjQpGV5PClt>J z$7bf^gxD2)0<-Si)r=_Q#7g0-;_GQ&WaToeQWm4h^_rH!T#N z$=Jg#(Y!u4X|Swzg5X_|lEXWbz_bXk2bnPp-+K)w;@iG879gk$H^UtB2Ia_1hG^vR zEh~lhdqs~9Ah#*GD*jKE_ALH!_0$(;?z^F1&BvU$%rN9ED=XlB_4k+uBZ=sI-_)b=avVD2fZ6kslMng4^v6F{^4}dyXxszAU@G zaz|EVZuiSPx~k9JJ+xmw*1@UjXcjW%#zJa}-sC}&*JxfuctCzt-93lM_FW}^^ODw4 zI27=&nWqLk#7a+!B`Q`?*BZqmX&#Hpwf)gRWq`r?0q&Pn7KsWRD)P={l^52U&C7IT zB`b>da?QH?+#eh2vl6`F$j^J&?#3as71L?Kr%s1cgkgj6#iCw&XY^Ccz^NB8e7f

    LF7$i{|{C z@zZzYM(9q}$*~i8ukL!O(e}Tq*a~%Y;K*Fz(Wc;~p+BAxz6mVD1i9)~1kGa#vxHXN zFFcuVIQ1hf+dlk)mu}g1R}B(&LIV3CP?vxb1fGzvwGv@lB!Guhrb!?Mg0B*I2tkzu z5+OJQ!Mz6%ShZ67qL#9H!l*niabzFDLs}Z{$A-Gs^jK9GH6J~3G^UOn75enk^C8}5 zhI}7)|enwz3WhS(4=3lzm7g>8n zS6OLMx2cDKv67h{AD*tZGG`r+AMXuI&z^9%Bjo-*hTn*pTk?9+k>{5rEUH1@gbX^5 zXixdYKIiDA?|l_#*PU09zb!TLm1&Smh$v&2R>l=76noEX?vTjY z6F8T>nEOk}SEdc$)lF#F=g2EvXfSGQSR>}LH;B+Weab51BfC0<6UL-s8QPt8PT2+J z6LE7lwV!mP$&0o^@|=N=)kzX`5Ri}}3XmcqBglT)XHy=LDg>*>o2PRy9&+9fIoCGY6#`x(>86~A@jw`o$0RMuUV>Upf~q9dMk94!!MFzb)bQ=i zEpGR#b{UT2SE%_8wOI;tka=(qV~=ggs*M=Mi{i$A_o~+BhBS0Vs*WZbAQ zt;mma?e*aLlKcDak%KM4A`?nb-2eSC`AMk!#`moGZJDBh%eni_E{1gTg2lrgnm6ig zn{W^hd6u49Uy)+SnCf_1@RN*zTzV$ diff --git a/vignettes/using-corrr_files/figure-html/unnamed-chunk-7-1.png b/vignettes/using-corrr_files/figure-html/unnamed-chunk-7-1.png deleted file mode 100644 index 5b6d9f8689e4f9e21048485808d99ffa1134acaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3147 zcmbVPdo)yQ8=uY@q~WD*G;G!mIXqK!miP?76f z*hLmcMzTQcD?t8x3o`j{R~ng&gI~z-#Q^c$Adv}@dq8RrxZ4ZTUxSR-Ad3ZZ-hg|3 zpr9WV_JjLx0gZ&CAu(t)5{*WtjWB2H+pFrm%==uzpQ=oSmup%+68NdRd zZw9>m0@$=Kys z^q41Jp67wDS4dx%!MAJP9RF+FK!0vf0Cxo}ga$3dMK4B%E=ENxCXg3bz*6+hCGss^ zLM)FDmXqU`?<6kYOD09n+FB`nt-NH7x3tFN!E}JiGEiLsY9E98YS2^*nj7Jo0plrn)&gF%fzIckyA$+w z!=(aN59ntBc0U+kgP{SqLNGcE#y^6|2{8Q`e3=IGbAa;=EG__e=XH)@+F)*A0)XVj zjrnlzh+MV2;D!LJz1%F zpOH@qVE9j;F=!AW)?8Qowwpe1jz|_|I}z0e7qlGP#Ih;7EK@Sbk-29I<1(hD`>-&;pfGbaXvL+EkHDM3nYj~v$^Q5joH>A!>)fs@*xYKhmJEQKMq*v1sAkM4~3ux|tuES0wL z)vamx*#`=4Jg69KXr3}`jelr=!gTJbu(XlL)I!JQ$vkh>elx5jM!a zzE!Lv_>U3ZFY&I{0;5A8`iO@PlhGc%QDOK+=swp^MxA&&|9O7sgqs5Oc|PUz;4DvB zov0L|vSrD%!zVLLSf(oJXzIg4N{-GclE7^6ikF9zV>7{tr|r%%GTP!BwZ~|S!KNM0 z?}`x-e#6iRzf?q$ovrJVtQ63|IM63%se^BHg4ZdUr0`l-W44D5z0+Q~l~aDw)+fA5_GU!z(( zY^EB;WU8Je-@_Ol5Cmq@-91F#P=1b?>A00S>&h%u{}X$=c#iSX<}y7)QT{ zHAcd=Bbn@ILz2@%l2b+U-GWrTx(Uf=2}m8R@fy(17)wVc)B|T(__Z z!MOCMvzv`|)?2LZBGEI<>|E@*mo)_uaJ(k;^?DX_#XyHe4ASQY!i|+i@y<|mAZWxm z8~`zEF;Z${Vkfo+zao@BfY#!r)bQBoZ8J%gl>otXJ!P80t(iojzYRSM>0MNsX$a!n zm*vVOD(|vjzBB1AQ(t5^D|-xvUKUzaNSiTnKjtA8ZyjxMM%-_rE8`q9UpsDx*Mwg+ z#jIj^t>JyO??e}0^5?WX?oJ(KAysN@u+|uts_WDAz(S{e=jp_nM_Jv+7qQ-t1j9ao zuH89HyF9mP#Q)i@7F?dyeFPeH;b2;+=LZ{triz|saW`uonuRrLCslFYc6u~t`L8{` z3NKV;f`m7GBzC1f)~RfwacK65T-s!_`>~8K;VB-o&1&^2S=}9Tdj@YKUGOU+#}J~> zswl#`4PqjEH*H2tMTjR{JNc;Y63cBa_+Dm##5b~fMTIl}c1ac#pKJBnT706Y0gB-gGHaBV zWS9wdqeWwKB_w{@>j{neY!6A}=6g*86^2Vui(GNt^#4A8|2c{Ozo(O$!WCQA=E}J9 zdv`DR1>@e^-`TN42aA?5qjxj~xcqan1>o>?_tc6Tv+R;}6|npp9?2r#>TQl^IxrV2 z^!um9az>`T6ma%Vocn(e;%bETU8G3QG8uoc9VxAq@k$S4qFW{t> z=VxbTzVYNSa0&*oH5+G7Rn#v(qioFJmxlceO~}PW&zrX${!wxRG2qpKg_>^v&cdISGls^sIY<{cLBu^~2_v1r!H;KmHmd zd=?JJ+r}_Y;SX2pRh-8U3j59luwX#Ae#LJJU7cY}<}Xa+$GP=!yA!U>CPp4I^oSjj z^7r@O8sfB4d0WhTBkB6m_@cBy{BhOEJqAYO{V?`eca*f9O3~p0>;CNA>i4Y9U+}yO pww!nSw*4+GW2U`M-@lxA#->-?TUwS{H?IE_SRJ=9D>HG1{sQGI7S#X%

    Using corrr

    Using corrr starts with correlate(), which acts like the base correlation function cor(). It differs by defaulting to pairwise deletion, and returning a correlation data frame (cor_df) of the following structure:

    • A tbl with an additional class, cor_df
    • An extra “rowname” column
    • -
    • Standardised variances (the matrix diagonal) set to missing values (NA) so they can be ignored.
    • +
    • Standardized variances (the matrix diagonal) set to missing values (NA) so they can be ignored.

    To work with further, let’s create a correlation data frame using correlate() from the mtcars data that comes with R:

    -
    +