Skip to content

Commit

Permalink
Move library call back
Browse files Browse the repository at this point in the history
  • Loading branch information
krlmlr committed Oct 15, 2023
1 parent b96fa85 commit 92806c7
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 36 deletions.
18 changes: 6 additions & 12 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,12 @@ pak::pak("duckdblabs/duckplyr")

## Examples

```{r attach}
library(conflicted)
library(duckplyr)
conflict_prefer("filter", "duckplyr")
```

There are two ways to use duckplyr.

1. To enable duckplyr for individual data frames, use `as_duckplyr_df()` as the first step in your pipe.
Expand All @@ -65,12 +71,6 @@ See also the companion [demo repository](https://github.com/Tmonster/duckplyr_de

This example illustrates usage of duckplyr for individual data frames.

```{r individual}
library(conflicted)
library(duckplyr)
conflict_prefer("filter", "duckplyr")
```

Use `as_duckplyr_df()` to enable processing with duckdb:

```{r}
Expand Down Expand Up @@ -117,12 +117,6 @@ out

This example illustrates usage of duckplyr for all data frames in the R session.

```{r session}
library(conflicted)
library(duckplyr)
conflict_prefer("filter", "duckplyr")
```

Use `methods_overwrite()` to enable processing with duckdb for all data frames:

```{r}
Expand Down
41 changes: 17 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,24 +32,24 @@ Or from [GitHub](https://github.com/) with:

## Examples

<pre class='chroma'>
<span><span class='kr'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='o'>(</span><span class='nv'><a href='https://conflicted.r-lib.org/'>conflicted</a></span><span class='o'>)</span></span>
<span><span class='kr'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='o'>(</span><span class='nv'><a href='https://duckdblabs.github.io/duckplyr/'>duckplyr</a></span><span class='o'>)</span></span>
<span><span class='nf'><a href='https://conflicted.r-lib.org/reference/conflict_prefer.html'>conflict_prefer</a></span><span class='o'>(</span><span class='s'>"filter"</span>, <span class='s'>"duckplyr"</span><span class='o'>)</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>[conflicted]</span> Will prefer <span style='color: #0000BB; font-weight: bold;'>duckplyr</span>::filter over</span></span>
<span><span class='c'>#&gt; any other package.</span></span></pre>

There are two ways to use duckplyr.

1. To enable duckplyr for individual data frames, use `as_duckplyr_df()` as the first step in your pipe.
2. To enable duckplyr for the entire session, use `methods_overwrite()`.
1. To enable duckplyr for individual data frames, use [`as_duckplyr_df()`](https://duckdblabs.github.io/duckplyr/reference/as_duckplyr_df.html) as the first step in your pipe.
2. To enable duckplyr for the entire session, use [`methods_overwrite()`](https://duckdblabs.github.io/duckplyr/reference/methods_overwrite.html).

The examples below illustrate both methods. See also the companion [demo repository](https://github.com/Tmonster/duckplyr_demo) for a use case with a large dataset.

### Usage for individual data frames

This example illustrates usage of duckplyr for individual data frames.

<pre class='chroma'>
<span><span class='kr'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='o'>(</span><span class='nv'><a href='https://conflicted.r-lib.org/'>conflicted</a></span><span class='o'>)</span></span>
<span><span class='kr'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='o'>(</span><span class='nv'><a href='https://duckdblabs.github.io/duckplyr/'>duckplyr</a></span><span class='o'>)</span></span>
<span><span class='nf'><a href='https://conflicted.r-lib.org/reference/conflict_prefer.html'>conflict_prefer</a></span><span class='o'>(</span><span class='s'>"filter"</span>, <span class='s'>"duckplyr"</span><span class='o'>)</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>[conflicted]</span> Will prefer <span style='color: #0000BB; font-weight: bold;'>duckplyr</span>::filter over</span></span>
<span><span class='c'>#&gt; any other package.</span></span></pre>

Use [`as_duckplyr_df()`](https://duckdblabs.github.io/duckplyr/reference/as_duckplyr_df.html) to enable processing with duckdb:

<pre class='chroma'>
Expand Down Expand Up @@ -127,7 +127,7 @@ All data frame operations are supported. Computation happens upon the first requ
<span><span class='c'>#&gt; Filter [!=(species, 'Gentoo')]</span></span>
<span><span class='c'>#&gt; Aggregate [species, sex, mean(bill_area)]</span></span>
<span><span class='c'>#&gt; Projection [species as species, island as island, bill_length_mm as bill_length_mm, bill_depth_mm as bill_depth_mm, flipper_length_mm as flipper_length_mm, body_mass_g as body_mass_g, sex as sex, "year" as year, *(bill_length_mm, bill_depth_mm) as bill_area]</span></span>
<span><span class='c'>#&gt; r_dataframe_scan(0x13c2aa118)</span></span>
<span><span class='c'>#&gt; r_dataframe_scan(0x10c4c7628)</span></span>
<span><span class='c'>#&gt; </span></span>
<span><span class='c'>#&gt; ---------------------</span></span>
<span><span class='c'>#&gt; -- Result Columns --</span></span>
Expand All @@ -136,7 +136,7 @@ All data frame operations are supported. Computation happens upon the first requ
<span><span class='c'>#&gt; - sex (VARCHAR)</span></span>
<span><span class='c'>#&gt; - mean_bill_area (DOUBLE)</span></span>
<span><span class='c'>#&gt; </span></span>
<span><span class='c'>#&gt; [1] 656.8523 694.9360 984.2279 819.7503 770.2627</span></span></pre>
<span><span class='c'>#&gt; [1] 770.2627 656.8523 819.7503 694.9360 984.2279</span></span></pre>

After the computation has been carried out, the results are available immediately:

Expand All @@ -145,23 +145,16 @@ After the computation has been carried out, the results are available immediatel
<span><span class='c'>#&gt; <span style='color: #555555;'># A tibble: 5 × 3</span></span></span>
<span><span class='c'>#&gt; <span style='font-weight: bold;'>species</span> <span style='font-weight: bold;'>sex</span> <span style='font-weight: bold;'>mean_bill_area</span></span></span>
<span><span class='c'>#&gt; <span style='color: #555555; font-style: italic;'>&lt;chr&gt;</span> <span style='color: #555555; font-style: italic;'>&lt;chr&gt;</span> <span style='color: #555555; font-style: italic;'>&lt;dbl&gt;</span></span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>1</span> Adelie female 657.</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>2</span> Adelie <span style='color: #BB0000;'>NA</span> 695.</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>3</span> Chinstrap male 984.</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>4</span> Chinstrap female 820.</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>5</span> Adelie male 770.</span></span></pre>
<span><span class='c'>#&gt; <span style='color: #555555;'>1</span> Adelie male 770.</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>2</span> Adelie female 657.</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>3</span> Chinstrap female 820.</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>4</span> Adelie <span style='color: #BB0000;'>NA</span> 695.</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>5</span> Chinstrap male 984.</span></span></pre>

### Session-wide usage

This example illustrates usage of duckplyr for all data frames in the R session.

<pre class='chroma'>
<span><span class='kr'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='o'>(</span><span class='nv'><a href='https://conflicted.r-lib.org/'>conflicted</a></span><span class='o'>)</span></span>
<span><span class='kr'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='o'>(</span><span class='nv'><a href='https://duckdblabs.github.io/duckplyr/'>duckplyr</a></span><span class='o'>)</span></span>
<span><span class='nf'><a href='https://conflicted.r-lib.org/reference/conflict_prefer.html'>conflict_prefer</a></span><span class='o'>(</span><span class='s'>"filter"</span>, <span class='s'>"duckplyr"</span><span class='o'>)</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>[conflicted]</span> Removing existing preference.</span></span>
<span><span class='c'>#&gt; <span style='color: #555555;'>[conflicted]</span> Will prefer <span style='color: #0000BB; font-weight: bold;'>duckplyr</span>::filter over any other package.</span></span></pre>

Use [`methods_overwrite()`](https://duckdblabs.github.io/duckplyr/reference/methods_overwrite.html) to enable processing with duckdb for all data frames:

<pre class='chroma'>
Expand Down Expand Up @@ -198,7 +191,7 @@ Querying the number of rows also starts the computation:
<span><span class='c'>#&gt; Filter [!=(species, 'Gentoo')]</span></span>
<span><span class='c'>#&gt; Aggregate [species, sex, mean(bill_area)]</span></span>
<span><span class='c'>#&gt; Projection [species as species, island as island, bill_length_mm as bill_length_mm, bill_depth_mm as bill_depth_mm, flipper_length_mm as flipper_length_mm, body_mass_g as body_mass_g, sex as sex, "year" as year, *(bill_length_mm, bill_depth_mm) as bill_area]</span></span>
<span><span class='c'>#&gt; r_dataframe_scan(0x13b4e4028)</span></span>
<span><span class='c'>#&gt; r_dataframe_scan(0x10a81d568)</span></span>
<span><span class='c'>#&gt; </span></span>
<span><span class='c'>#&gt; ---------------------</span></span>
<span><span class='c'>#&gt; -- Result Columns --</span></span>
Expand Down

0 comments on commit 92806c7

Please sign in to comment.