This vignette introduces to package spAddins
: describes a
recommended
workflow, explains how the functions of the package should be
used and gives several examples.
spAddins
is an R package that provides a set of RStudio addins which
are designed to be used in
combination with user-defined RStudio keyboard shortcuts. These
addins do the following:
1) format text in R Markdown documents:
- enclose either selected text or selected rows with special symbols and text gets inerpreted in a special way when rendered with R Markdown (e.g., converts "bold" into "**bold**"
that is interpreted as "bold").
2) insert text (e.g., operators %>%
, <<-
, %$%
) at the cursor position;
3) replace symbols in selected
pieces of text (e.g., convert backslashes to forward slashes which results
in strings like "c:\data\"
converted into "c:/data/"
).
The recommended workflow consists of four main steps. Step 1 and Step 2 should usually be done only once. Step 3 and Step 4 can be repeated as many times as needed.
Released version of package spAddins
can be installed from CRAN:
install.packages("spAddins")
Development version can be installed from GitHub:
if (!require(devtools)) install.packages("devtools") library(devtools) install_github("GegznaV/spAddins")
The most of the functions in the package are also RStudio addins.
This fact allows setting user-defined RStudio keyboard shortcuts
that call the functions in a more
convenient way.
Thus the second step is to define keyboard shortcuts for package's spAddins
functions of interest.
To learn how to add user defined RStudio keyboard shortcuts, visit these links:
Package spAddins
contains 3 types of addins:
For addins which insert text, in either R editor or in R console place your cursor at the position at which the text should be inserted.
For addins which either replace or enclose text, in R editor or in R console select a piece of text in which certain symbols should be replaced or enclosed.
To call a desired addin function, apply an appropriate keyboard shortcut which in Step 2 was associated with that function.
%$%
operatorThis example demonstrates how to use addins which insert text.
Let package spAddins
be already installed. First, let's set keyboard shortcut
Ctrl + Alt + Shift + S
to call function rs_insert_exposition_pipe()
which inserts
exposition pipe-operator %$%
at the cursor position. This operator is defined
in package magrittr
thus the package must be loaded too:
library(magrittr)
library(magrittr)
To learn more about the %$%
operator type:
?magrittr::`%$%`
It can replace this commands, where $
is used, e.g.:
table(CO2$Type, CO2$Treatment)
Next, place your cursor at the position, where the operator should be inserted.
For example, between the name of data set CO2
and the name of a function
table()
:
CO2 table(Type, Treatment)
Apply the shortcut combination Ctrl + Alt + Shift + S
. As a result the operator
is inserted:
CO2 %$% table(Type, Treatment)
\
with /
This example describes how to use addins which replace text.
Conciser having a string "c:\data\"
in which backslashes (\
) must be
replaced with forward slashes (/
). Addin function rs_replace_slash_b2fw()
(b -- backslash, fw -- forward slash)
is designed exactly for this task. Let's define a new shortcut combination,
say Ctrl + Alt + Shift + /
, which calls the addin function. Now to know the
place where the replacement should be applied an appropriate piece of text in
either R editor or R console must be selected. Thus let's select
whole string "c:\data\"
and push Ctrl + Alt + Shift + /
.
The result: as expected, the string is converted into "c:/data/"
.
**
...**
This example describes how to use addins which enclose text.
Conciser having an R Markdown file and a string "This word should be in bold."
in it. In this string word word
must be in bold.
Addin function rmd_bold()
encloses selected text in double asterisk **
signs, and this is interpreted as bold in R markdown. Let's define shortcut combination,
say Ctrl + Shift + B
, which calls the addin function. Now select the word word
which is either in R editor or R console and push Ctrl + Shift + B
to call the addin function.
The result: "This **word** should be in bold."
These functions insert various R operators.
| Function | Inserts | Package associated with operator| |-------------------------------------|:--------------------:|:-------------------------------:| | rs_insert_arrow_rl2() | <<- | R base | | rs_insert_arrow_lr() | -> | R base | | rs_insert_arrow_lr2() | ->> | R base | | rs_insert_infix_in() | %in% | R base | | rs_insert_matrix_multiplication()| %*% | R base | | rs_insert_pipe | %>% | magrittr | | rs_insert_tee_pipe() | %T>% | magrittr | | rs_insert_update_pipe() | %<>% | magrittr | | rs_insert_exposition_pipe() | %$% | magrittr |
Table: A few examples of addins that insert operators
The following functions may be useful for either editing R Markdown files or,
if commented (#
), for structuring R code files.
| Function | Description | Example (first 10 symbols) |
|-------------------------|:--------------------------------:|:--------------------------:|
| rs_insert_line_ss() | Insert single straight (SS) line | ----------
|
| rs_insert_line_ds() | Insert double straight (DS) line | ==========
|
| rs_insert_line_sw() | Insert single wavy (SW) line | ~~~~~~~~~~
|
Table: Addins that insert lines
The length of line is from the beggining of selection to the 79-th column of the row (i.e., the position of 79-th symbol in the row).
| Action | Function | Text to edit | Result | |--------------------------|---------------------------------------|:----------------:|:----------------:| | Replace \ with \\ | rs_replace_slash_bs2d() | "c:\data\" | "c:\\data\\" | | Replace \ with / | rs_replace_slash_b2fw() | "c:\data\" | "c:/data/" | | Replace / with \ | rs_replace_slash_fw2b() | new line/n | new line\n | | Replace \\ with \ | rs_replace_slash_bd2s() | new line\\n | new line\n |
Table: Addins that convert between types of slashes
These functions are useful for editing R Markdown files.
| Action | Function | Text to edit | Result | Interpreted as |
|--------------------------------------------------|------------------------------|:-----------------:|:--------------------------:|:-------------------:|
| Enclose with double asterisk (**
) | rmd_bold() | bold | **bold** | bold |
| Enclose with single underscore (**_
and _**
) | rmd_italics() | italics | _italics_ | italics |
| Enclose with single underscore (_
) | rmd_bold_italics() | bold italics | **_bold italics_** | bold italics |
| Enclose with double underscore (__
) | rmd_bold2() | bold | __bold__ | bold |
| Enclose with single asterisk (*
) | rmd_italics2() | italics | *italics* | italics |
| Enclose with caret (^
) | rmd_superscript() | a superscript | a \^superscript\^ | a ^superscript^ |
| Enclose with single tilde (~
) | rmd_subscript() | a subscript | a \~subscript\~ | a ~subscript~ |
| Enclose with double tilde (~~
) | rmd_strikethrough() | strikethrough | \~\~strikethrough\~\~ | ~~strikethrough~~ |
| Enclose with single backick (`) | rmd_code_inline() | code | `code` | code
|
| Enclose as inline R code to evaluate | rmd_r_code_inline() | 2 + 3 | ` r 2 + 3` | r 2 + 3
|
| Enclose with single dollar sign ($
) | enclose_with_dollar() | equation^{inline} | $equation^{inline}$
| $equation^{inline}$ |
| Enclose with double dollar sign ($$
) | enclose_with_dollar2() | equation_{block} | $$equation_{block}$$
| $equation_{block}$ |
Table: Several examples of addins that format text in R Markdown
Your feedback is wellcome at https://github.com/GegznaV/spAddins/issues
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.