Package 'datapasta'

Title: R Tools for Data Copy-Pasta
Description: RStudio addins and R functions that make copy-pasting vectors and tables to text painless.
Authors: Miles McBain [aut, cre] , Jonathan Carroll [aut] , Mark Dulhunty [ctb], Andrew Collier [ctb], Sharla Gelfand [aut], Suthira Owlarn [aut] , Garrick Aden-Buie [aut]
Maintainer: Miles McBain <[email protected]>
License: MIT + file LICENSE
Version: 3.1.1
Built: 2024-08-19 02:46:51 UTC
Source: https://github.com/milesmcbain/datapasta

Help Index


custom_context

Description

the _context functions define lists of parameters for text formatting. The specific contexts return hard-coded values appropriate to the context they describe, while custom_context allows definition of new contexts for custom formatting.

Usage

clipboard_context()

rstudio_context()

console_context()

markdown_context()

custom_context(
  output_mode = "console",
  nspc = 2,
  indent_context = 0,
  indent_head = TRUE
)

Arguments

output_mode

A named output mode, controls the target of the _paste functions options are "rstudioapi" or "console"

nspc

The number of spaces for each indent level in the output context

indent_context

The number of spaces applied initially to all lines in the output context

indent_head

Logical. Apply the indent_context to the to the header row? Use FALSE if targeting cursor location.

Value

an output context. An input to _paste, _format, _construct functions used to format whitespace.


df_format

Description

Parse the current clipboard as a table and paste to the clipboard in data.frame format.

Usage

df_format(input_table, output_context = clipboard_context())

Arguments

input_table

an optional input tibble or data.frame to format.

output_context

an optional output context that defines the target and indentation.

Value

nothing.


df_paste

Description

Parse either: the current clipboard, or a supplied argument, as a table and paste in at the cursor location in data.frame format.

Usage

df_paste(input_table, output_context = guess_output_context())

Arguments

input_table

an optional input tibble or data.frame to format.

output_context

an optional output context that defines the target and indentation. The default behaviour is target the rstudioapi and fall back to console if it is not available.

Value

nothing.


dfdt_construct

Description

Parse the current clipboard as a table and return in data.frame format.

Usage

dfdt_construct(input_table, oc = console_context(), class = NULL)

Arguments

input_table

an optional R object to parse instead of the clipboard.

oc

an optional output context that defines the target and indentation.

class

either data.frame or data.table.

Value

a character string containing the input formatted as a data.frame definition.


dmdclip

Description

Formats input for presentation in markdown as a preformatted chunk and inserts it onto the clipboard. Ready for pasting to Stack Overflow or Github.

Usage

dmdclip(input)

Arguments

input

a vector, data.frame, or tibble

Value

nothing


dp_set_decimal_mark

Description

A function to optionally set the decimal mark if in a locale where it is not '.'. Will allow "3,14" to be parsed as 3.14, normally would be parsed as 314. Will also handle spaces in numbers.

Usage

dp_set_decimal_mark(mark)

Arguments

mark

The decimal mark to use when parsing "number" type data, as guessed by readr::guess_parser.

Value

NULL.


dp_set_max_rows

Description

dp_set_max_rows

Usage

dp_set_max_rows(num_rows)

Arguments

num_rows

The number of rows of an input at which any of tribble_construct() or df_construct() will abort parsing. Datapasta is untested on large tables. Use at own risk.


dpasta

Description

Formats input and inserts at either the current cursor or the console.

Usage

dpasta(input)

Arguments

input

a vector, data.frame, or tibble

Value

nothing


dt_format

Description

Parse the current clipboard as a table and paste to the clipboard in data.table format.

Usage

dt_format(input_table, output_context = clipboard_context())

Arguments

input_table

an optional input tibble or data.frame to format.

output_context

an optional output context that defines the target and indentation.

Value

nothing.


dt_paste

Description

Parse either: the current clipboard, or a supplied argument, as a table and paste in at the cursor location in data.table format.

Usage

dt_paste(input_table, output_context = guess_output_context())

Arguments

input_table

an optional input tibble or data.frame to format.

output_context

an optional output context that defines the target and indentation. The default behaviour is target the rstudioapi and fall back to console if it is not available.

Value

nothing.


guess_output_context

Description

Return the a list containing the guessed output target context, either rstudio or the console.

Usage

guess_output_context()

Value

a list containing the output target, space size of indent, and number of indents at context.


guess_sep

Description

Guesses the separator based on a simple heuristic over the first 10 or less rows: The separator chosen is the one that leads to the most columns, whilst parsing the same number of columns for each line (var=0). The guessing algorithm ignores blank lines - which are lines that contain only the separator. Options are in 'c(",","\t","\|",";")'

Usage

guess_sep(char_vec)

Arguments

char_vec

a table from the clipboard in character vector form.

Value

the separator selected to parse char_vec as a table


nchar_type

Description

nchar_type

Usage

nchar_type(df_col_row, df_col_type)

Arguments

df_col_row

a character string

df_col_type

the type the string will be converted to.

Value

The number of characters wide this data would be in when rendered in text


Count the number of quotes in a string

Description

Count the number of quotes in a string

Usage

nquote_str(char_vec)

Arguments

char_vec

the string to count quotes in

Value

a number, possibly 0.


pad_to

Description

Left pad string to a certain size. A helper function for getting spacing in table correct.

Usage

pad_to(char_vec, char_length)

Arguments

char_vec

character vector.

char_length

length to pad to.

Value

char_vec left-padded with spaces to char_length.


parse_vector

Description

Pastes data from clipboard as a vertically formatted character vector on multiple lines. One line is used per element. Considers ',', 'tab', 'newline' as delimiters.

Usage

parse_vector(input_vector)

Arguments

input_vector

an optional character vector to attempt to break up, and escape.

Value

A vector parsed from the clipboard as ether a character string or a character vector. The type attribute contains the type guessed by 'readr'.


read_clip_table_guess

Description

Similar to read_clip_tbl from clipr, however it will error if there are less than 2 rows and it tries to guess the separator.

Usage

read_clip_tbl_guess(x = NULL, ...)

Arguments

x

contents of the clipboard

...

arguments passed to read.table

Value

a parsed table from the clipboard. Separator is guessed.


render_type

Description

Renders a character vector as R types for pasting into Rstudio. Strings are quoted. Numbers, NA, logicals etc are not.

Usage

render_type(char_vec, char_type)

Arguments

char_vec

a character vector containing text to be rendered as the type indicated by type_str

char_type

a string describing the type of char_vec

Value

A vector parsed from the clipboard as ether a character string or a character vector. The type attribute contains the type guessed by 'readr'.


render_type_pad_to

Description

Based on a type and length, render a character string as the type in text. Pad to the desired length.

Usage

render_type_pad_to(char_vec, char_type, char_length)

Arguments

char_vec

a character vector

char_type

a string type from readr::guess_parser

char_length

a string length to pad to.

Value

a string containing the representation of char_vec as char_type in the RStudio source editor, left-padded with spaces to char_length.


wrap the datapasta around itself

Description

wrap the datapasta around itself

Usage

tortellini(col_struct, defn_width = 80, indent_context = 0, add_comma = TRUE)

Arguments

col_struct

input structure - a split apart column definition

defn_width

total number of characters in a line (includes column name and indent on line 1)

indent_context

the level of indent in spaces in the current editor pane

add_comma

add one final comma to the end of the wrapped column def? Useful when pasting together columns.

Value

w wrapped string


tribble_construct

Description

Parse the current clipboard as a table, or use the table argument supplied, and return as a character string.

Usage

tribble_construct(input_table, oc = console_context())

Arguments

input_table

an optional input 'data.frame'. If 'input_table' is supplied, then nothing is read from the clipboard.

oc

an optional output context that defines the target and indentation. Default is console. Table is output as 'tribble()' call. Useful for creating reproducible examples.

Value

The parsed table text.


tribble_format

Description

Parse the current clipboard as a table, or use the table argument supplied, and paste to the clipboard in tribble format.

Usage

tribble_format(input_table, output_context = console_context())

Arguments

input_table

an optional input 'data.frame'. If 'input_table' is supplied, then nothing is read from the clipboard.

output_context

an optional output context that defines the target and indentation. Default is console. Table is output as 'tribble()' call. Useful for creating reproducible examples.

Value

Nothing.


tribble_paste

Description

Parse the current clipboard as a table, or use the table argument supplied, and paste in at the cursor location in tribble format.

Usage

tribble_paste(input_table, output_context = guess_output_context())

Arguments

input_table

an optional input 'data.frame'. If 'input_table' is supplied, then nothing is read from the clipboard.

output_context

an optional output context that defines the target and indentation. Default is to guess between rstudio and console. Table is output as 'tribble()' call. Useful for creating reproducible examples.

Value

Nothing.


vector_construct

Description

Returns a formatted character string, either from clipboard or supplied argument, as a vector definition. Considers ',', 'tab', 'newline' as delimiters. If a single character string is passed as an argument, it will be split to form a vector.

Usage

vector_construct(input_vector, oc = console_context())

Arguments

input_vector

An input vector to be formatted for output. If supplied, no data is read from the clipboard.

oc

an optional output context that defines the output indentation.

Value

A string containing the input formatted as a vector definition.


vector_construct_vertical

Description

Returns a formatted string, either from clipboard or supplied argument, as a vertically formatted character vector over many lines. Considers ',', 'tab', 'newline' as delimiters. If a single character string is passed as an argument, it will be split to form a vector.

Usage

vector_construct_vertical(input_vector, oc = console_context())

Arguments

input_vector

An input vector to be formatted for output. If supplied, no data is read from the clipboard.

oc

an optional output context that defines the output target and indentation. The default behaviour is to target the rstudioapi and fall back to console if it is not available.

Value

a string containing the input formatted as a vector definition.


vector_format

Description

Writes data to the clipboard, either from clipboard or supplied argument. Writes a horizontally formatted character vector on a single line. Considers ',', 'tab', 'newline' as delimiters. If a single character string is passed as an argument, it will be split to form a vector.

Usage

vector_format(input_vector, output_context = console_context())

Arguments

input_vector

An input vector to be formatted for output. If supplied, no data is read from the clipboard.

output_context

an optional output context that defines the output indentation.

Value

nothing.


vector_format_vertical

Description

Writes data to clipboard, either from clipboard or supplied argument, as a vertically formatted character vector over many lines. Considers ',', 'tab', 'newline' as delimiters. If a single character string is passed as an argument, it will be split to form a vector.

Usage

vector_format_vertical(input_vector, output_context = clipboard_context())

Arguments

input_vector

An input vector to be formatted for output. If supplied, no data is read from the clipboard.

output_context

an optional output context that defines the output target and indentation. The default behaviour is to target the rstudioapi and fall back to console if it is not available.

Value

nothing.


vector_paste

Description

Pastes data, either from clipboard or supplied argument, as a horizontally formatted character vector on a single line. Considers ',', 'tab', 'newline' as delimiters. If a single character string is passed as an argument, it will be split to form a vector.

Usage

vector_paste(input_vector, output_context = guess_output_context())

Arguments

input_vector

An input vector to be formatted for output. If supplied, no data is read from the clipboard.

output_context

an optional output context that defines the output target and indentation. The default behaviour is to target the rstudioapi and fall back to console if it is not available.

Value

nothing.


vector_paste_vertical

Description

Pastes data, either from clipboard or supplied argument, as a vertically formatted character vector over many lines. Considers ',', 'tab', 'newline' as delimiters. If a single character string is passed as an argument, it will be split to form a vector.

Usage

vector_paste_vertical(input_vector, output_context = guess_output_context())

Arguments

input_vector

An input vector to be formatted for output. If supplied, no data is read from the clipboard.

output_context

an optional output context that defines the output target and indentation. The default behaviour is to target the rstudioapi and fall back to console if it is not available.

Value

nothing.


dfiddle

Description

An addin to fiddle your RStudio selections to better things. Make a selection in RStudio and dfiddle will update it inline. Good for: Converting Text to vectors ('c()'), pivoting between horizontal and vertical vectors, reflowing tribble() and data.frame() definitions to have nice indenting and padding.

Usage

zzz_rs_dfiddle()

Value

a fiddled version of your selection (invisibly)


Toggle Quotes

Description

An addin to toggle between quotes and bare vectors. Applies to a vector selected in an RStudio source editor. Works with horizontal or vertical form.

Usage

zzz_rs_toggle_quotes()

Value

The toggled vector (invisibly).