From 133459905f9421fcdde193b405378e5575750a73 Mon Sep 17 00:00:00 2001 From: drsimonj Date: Fri, 8 Jul 2016 08:17:10 +1000 Subject: [PATCH] Add cran install to README --- README-combination-1.png | Bin 4061 -> 23598 bytes README.Rmd | 6 ++ README.html | 138 +++++++++++++++++++++++++++++++++++++++ README.md | 6 ++ 4 files changed, 150 insertions(+) create mode 100644 README.html diff --git a/README-combination-1.png b/README-combination-1.png index c71fa7c67452edd9645cb261aa3e1dea8f410266..e7dd153ebe528dcae569fffb0178dfc57dc38021 100644 GIT binary patch literal 23598 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 Jsy>NM`aeQ{(Cz>L diff --git a/README.Rmd b/README.Rmd index e71043e..5da109c 100644 --- a/README.Rmd +++ b/README.Rmd @@ -25,6 +25,12 @@ corrr is a package for exploring **corr**elations in **R**. It makes it possible You can install: +- the latest released version from CRAN with + +```{r install_cran, eval = FALSE} +install.packages("corrr") +``` + - the latest development version from github with ```{r install_git, eval = FALSE} diff --git a/README.html b/README.html new file mode 100644 index 0000000..72ed055 --- /dev/null +++ b/README.html @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + +

corrr

+ +

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.

+

You can install:

+
    +
  • the latest released version from CRAN with
  • +
+
install.packages("corrr")
+
    +
  • the latest development version from github with
  • +
+
if (packageVersion("devtools") < 1.6) {
+  install.packages("devtools")
+}
+devtools::install_github("drsimonj/corrr")
+

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.
  • +
+

API

+

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:

+

Internal changes (cor_df out):

+
    +
  • shave() the upper or lower triangle (set to NA).
  • +
  • rearrange() the columns and rows based on correlation strengths.
  • +
+

Reshape structure (tbl or cor_df out):

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

Output/visualisations (console/plot out):

+
    +
  • fashion() the correlations for pretty printing.
  • +
  • rplot() plots the correlations.
  • +
+

Examples

+
library(MASS)
+library(corrr)
+set.seed(1)
+
+# Simulate three columns correlating about .7 with each other
+mu <- rep(0, 3)
+Sigma <- matrix(.7, nrow = 3, ncol = 3) + diag(3)*.3
+seven <- mvrnorm(n = 1000, mu = mu, Sigma = Sigma)
+
+# Simulate three columns correlating about .4 with each other
+mu <- rep(0, 3)
+Sigma <- matrix(.4, nrow = 3, ncol = 3) + diag(3)*.6
+four <- mvrnorm(n = 1000, mu = mu, Sigma = Sigma)
+
+# Bind together
+d <- cbind(seven, four)
+colnames(d) <- paste0("v", 1:ncol(d))
+
+# Insert some missing values
+d[sample(1:nrow(d), 100, replace = TRUE), 1] <- NA
+d[sample(1:nrow(d), 200, replace = TRUE), 5] <- NA
+
+# Correlate
+x <- correlate(d)
+class(x)
+#> [1] "cor_df"     "tbl_df"     "tbl"        "data.frame"
+x
+#> # A tibble: 6 x 7
+#>   rowname            v1          v2           v3            v4          v5
+#>     <chr>         <dbl>       <dbl>        <dbl>         <dbl>       <dbl>
+#> 1      v1            NA  0.70986371  0.709330652  0.0001947192 0.021359764
+#> 2      v2  0.7098637068          NA  0.697411266 -0.0132575510 0.009280530
+#> 3      v3  0.7093306516  0.69741127           NA -0.0252752456 0.001088652
+#> 4      v4  0.0001947192 -0.01325755 -0.025275246            NA 0.421380212
+#> 5      v5  0.0213597639  0.00928053  0.001088652  0.4213802123          NA
+#> 6      v6 -0.0435135083 -0.03383145 -0.020057495  0.4424697437 0.425441795
+#> # ... with 1 more variables: v6 <dbl>
+

As a tbl, we can use functions from data frame packages like dplyr, tidyr, ggplot2:

+
library(dplyr)
+
+# Filter rows by correlation size
+x %>% filter(v1 > .6)
+#> # A tibble: 2 x 7
+#>   rowname        v1        v2        v3          v4          v5
+#>     <chr>     <dbl>     <dbl>     <dbl>       <dbl>       <dbl>
+#> 1      v2 0.7098637        NA 0.6974113 -0.01325755 0.009280530
+#> 2      v3 0.7093307 0.6974113        NA -0.02527525 0.001088652
+#> # ... with 1 more variables: v6 <dbl>
+

corrr functions work in pipelines (cor_df in; cor_df or tbl out):

+
x <- datasets::mtcars %>%
+       correlate() %>%    # Create correlation data frame (cor_df)
+       focus(-cyl, -vs, mirror = TRUE) %>%  # Focus on cor_df without 'cyl' and 'vs'
+       rearrange(method = "HC", absolute = FALSE) %>%  # arrange by correlations
+       shave() # Shave off the upper triangle for a clean result
+
+fashion(x)
+#>      disp wt   hp   carb qsec mpg  drat am   gear
+#> disp                                             
+#> wt    .89                                        
+#> hp    .79  .66                                   
+#> carb  .39  .43  .75                              
+#> qsec -.43 -.17 -.71 -.66                         
+#> mpg  -.85 -.87 -.78 -.55  .42                    
+#> drat -.71 -.71 -.45 -.09  .09  .68               
+#> am   -.59 -.69 -.24  .06 -.23  .60  .71          
+#> gear -.56 -.58 -.13  .27 -.21  .48  .70  .79
+rplot(x)
+

+ + + diff --git a/README.md b/README.md index e6e3712..6828f89 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,12 @@ corrr is a package for exploring **corr**elations in **R**. It makes it possible You can install: +- the latest released version from CRAN with + +``` r +install.packages("corrr") +``` + - the latest development version from github with ``` r