Skip to content

Commit

Permalink
version 1.0.4
Browse files Browse the repository at this point in the history
  • Loading branch information
simonpcouch authored and cran-robot committed Dec 1, 2022
1 parent 1b1c674 commit eb4214e
Show file tree
Hide file tree
Showing 69 changed files with 2,036 additions and 1,619 deletions.
6 changes: 3 additions & 3 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Type: Package
Package: infer
Title: Tidy Statistical Inference
Version: 1.0.3
Version: 1.0.4
Authors@R:
c(person(given = "Andrew",
family = "Bray",
Expand Down Expand Up @@ -86,7 +86,7 @@ Encoding: UTF-8
LazyData: true
RoxygenNote: 7.2.1
NeedsCompilation: no
Packaged: 2022-08-22 17:55:29 UTC; simoncouch
Packaged: 2022-12-01 21:08:25 UTC; simoncouch
Author: Andrew Bray [aut],
Chester Ismay [aut] (<https://orcid.org/0000-0003-2820-2547>),
Evgeni Chasnovski [aut] (<https://orcid.org/0000-0002-1617-4019>),
Expand All @@ -103,4 +103,4 @@ Author: Andrew Bray [aut],
Brian Fannin [ctb]
Maintainer: Simon Couch <simonpatrickcouch@gmail.com>
Repository: CRAN
Date/Publication: 2022-08-22 18:50:03 UTC
Date/Publication: 2022-12-02 00:10:10 UTC
134 changes: 68 additions & 66 deletions MD5

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# infer v1.0.4

* Fixed bug in p-value shading where shaded regions no longer correctly overlaid
histogram bars.
* Addressed deprecation warning ahead of upcoming dplyr release.

# infer v1.0.3

* Fix R-devel HTML5 NOTEs.
Expand Down
3 changes: 2 additions & 1 deletion R/shade_p_value.R
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,8 @@ hist_area <- function(data, obs_stat, direction, yval) {
# "almost vertical" lines with `geom_area()` usage. If don't do this, then
# area might be shaded under line segments connecting edges of consequtive
# histogram bars.
x_extra <- sort(c(x, g_data[["xmin"]], g_data[["xmax"]]))
x_extra <- switch(direction, left = g_data[["xmax"]], right = g_data[["xmin"]])
x_extra <- sort(c(x, x_extra))
x_grid <- switch(
# `direction` can be one of "left" or "right" at this point of execution
direction,
Expand Down
2 changes: 1 addition & 1 deletion R/utils.R
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ standardize_variable_types <- function(x) {
dplyr::mutate(
dplyr::across(
where(~ is.logical(.x)),
~ factor(.x, levels = c("TRUE", "FALSE")),
~ factor(.x, levels = c("TRUE", "FALSE"))
)
) %>%
# integer to numeric
Expand Down
178 changes: 178 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@

# infer R Package <img src="man/figures/infer.png" align="right" width=280 />

<!--figs/infer.svg-->
<!--http://www.r-pkg.org/badges/version/infer-->
<!--figs/main.svg-->
<!--https://img.shields.io/codecov/c/github/tidymodels/infer/main.svg-->

[![R-CMD-check](https://github.com/tidymodels/infer/actions/workflows/check-standard.yaml/badge.svg)](https://github.com/tidymodels/infer/actions/workflows/check-standard.yaml)
[![CRAN\_Status\_Badge](https://www.r-pkg.org/badges/version/infer)](https://cran.r-project.org/package=infer)
[![Coverage
Status](https://img.shields.io/codecov/c/github/tidymodels/infer/main.svg)](https://codecov.io/github/tidymodels/infer/?branch=main)

The objective of this package is to perform statistical inference using
an expressive statistical grammar that coheres with the `tidyverse`
design framework. The package is centered around 4 main verbs,
supplemented with many utilities to visualize and extract value from
their outputs.

- `specify()` allows you to specify the variable, or relationship
between variables, that you’re interested in.
- `hypothesize()` allows you to declare the null hypothesis.
- `generate()` allows you to generate data reflecting the null
hypothesis.
- `calculate()` allows you to calculate a distribution of statistics
from the generated data to form the null distribution.

To learn more about the principles underlying the package design, see
`vignette("infer")`.

<div class="figure">

<img src="https://raw.githubusercontent.com/tidymodels/infer/main/figs/ht-diagram.png" alt="A diagram showing four steps to carry out randomization-based inference: specify hypothesis, generate data, calculate statistic, and visualize. From left to right, each step is connected by an arrow, while the diagram indicates that generating data and calculating statistics can happen iteratively." />
<p class="caption">
</p>

</div>

If you’re interested in learning more about randomization-based
statistical inference generally, including applied examples of this
package, we recommend checking out [Statistical Inference Via Data
Science: A ModernDive Into R and the Tidyverse](https://moderndive.com/)
and [Introduction to Modern
Statistics](https://openintro-ims.netlify.app/).

### Installation

------------------------------------------------------------------------

To install the current stable version of `infer` from CRAN:

``` r
install.packages("infer")
```

To install the developmental stable version of `infer`, make sure to
install `remotes` first. The `pkgdown` website for this version is at
[infer.tidymodels.org](https://infer.tidymodels.org/).

``` r
install.packages("remotes")
remotes::install_github("tidymodels/infer")
```

### Contributing

------------------------------------------------------------------------

We welcome others helping us make this package as user-friendly and
efficient as possible. Please review our
[contributing](https://github.com/tidymodels/infer/blob/main/CONTRIBUTING.md)
and [conduct](https://github.com/tidymodels/infer/blob/main/CONDUCT.md)
guidelines. By participating in this project you agree to abide by its
terms.

For questions and discussions about tidymodels packages, modeling, and
machine learning, please [post on RStudio
Community](https://community.rstudio.com/new-topic?category_id=15&tags=tidymodels,question). If you think you have
encountered a bug, please [submit an
issue](https://github.com/tidymodels/infer/issues). Either way, learn
how to create and share a [reprex](https://reprex.tidyverse.org/articles/learn-reprex.html) (a minimal,
reproducible example), to clearly communicate about your code. Check out
further details on [contributing guidelines for tidymodels
packages](https://www.tidymodels.org/contribute/) and [how to get
help](https://www.tidymodels.org/help/).

### Examples

------------------------------------------------------------------------

These examples are pulled from the “Full infer Pipeline Examples”
vignette, accessible by calling `vignette("observed_stat_examples")`.
They make use of the `gss` dataset supplied by the package, providing a
sample of data from the [General Social Survey](https://gss.norc.org).
The data looks like this:

``` r
# load in the dataset
data(gss)

# take a glimpse at it
str(gss)
```

## tibble [500 × 11] (S3: tbl_df/tbl/data.frame)
## $ year : num [1:500] 2014 1994 1998 1996 1994 ...
## $ age : num [1:500] 36 34 24 42 31 32 48 36 30 33 ...
## $ sex : Factor w/ 2 levels "male","female": 1 2 1 1 1 2 2 2 2 2 ...
## $ college: Factor w/ 2 levels "no degree","degree": 2 1 2 1 2 1 1 2 2 1 ...
## $ partyid: Factor w/ 5 levels "dem","ind","rep",..: 2 3 2 2 3 3 1 2 3 1 ...
## $ hompop : num [1:500] 3 4 1 4 2 4 2 1 5 2 ...
## $ hours : num [1:500] 50 31 40 40 40 53 32 20 40 40 ...
## $ income : Ord.factor w/ 12 levels "lt $1000"<"$1000 to 2999"<..: 12 11 12 12 12 12 12 12 12 10 ...
## $ class : Factor w/ 6 levels "lower class",..: 3 2 2 2 3 3 2 3 3 2 ...
## $ finrela: Factor w/ 6 levels "far below average",..: 2 2 2 4 4 3 2 4 3 1 ...
## $ weight : num [1:500] 0.896 1.083 0.55 1.086 1.083 ...

As an example, we’ll run an analysis of variance on `age` and `partyid`,
testing whether the age of a respondent is independent of their
political party affiliation.

Calculating the observed statistic,

``` r
F_hat <- gss %>%
specify(age ~ partyid) %>%
calculate(stat = "F")
```

Then, generating the null distribution,

``` r
null_dist <- gss %>%
specify(age ~ partyid) %>%
hypothesize(null = "independence") %>%
generate(reps = 1000, type = "permute") %>%
calculate(stat = "F")
```

Visualizing the observed statistic alongside the null distribution,

``` r
visualize(null_dist) +
shade_p_value(obs_stat = F_hat, direction = "greater")
```

<div class="figure">

<img src="https://raw.githubusercontent.com/tidymodels/infer/main/README_files/figure-gfm/viz-1.png" alt="A histogram showing a distribution of F statistics, right-tailed and centered around one. The x axis ranges from zero to five. The region of the histogram to the right of the observed statistic, just above two, is shaded red to represent the p-value." />
<p class="caption">
</p>

</div>

Calculating the p-value from the null distribution and observed
statistic,

``` r
null_dist %>%
get_p_value(obs_stat = F_hat, direction = "greater")
```

## # A tibble: 1 × 1
## p_value
## <dbl>
## 1 0.055

Note that the formula and non-formula interfaces (i.e. `age ~ partyid`
vs. `response = age, explanatory = partyid`) work for all implemented
inference procedures in `infer`. Use whatever is more natural for you.
If you will be doing modeling using functions like `lm()` and `glm()`,
though, we recommend you begin to use the formula `y ~ x` notation as
soon as possible.

Other resources are available in the package vignettes! See
`vignette("observed_stat_examples")` for more examples like the one
above, and `vignette("infer")` for discussion of the underlying
principles of the package design.
123 changes: 61 additions & 62 deletions inst/doc/anova.html

Large diffs are not rendered by default.

119 changes: 59 additions & 60 deletions inst/doc/chi_squared.html

Large diffs are not rendered by default.

115 changes: 57 additions & 58 deletions inst/doc/infer.html

Large diffs are not rendered by default.

151 changes: 75 additions & 76 deletions inst/doc/observed_stat_examples.html

Large diffs are not rendered by default.

113 changes: 56 additions & 57 deletions inst/doc/t_test.html

Large diffs are not rendered by default.

32 changes: 16 additions & 16 deletions tests/testthat/_snaps/shade_confidence_interval/ci-both-fill.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit eb4214e

Please sign in to comment.