Learn R Programming

xfun (version 0.60)

Supporting Functions for Packages Maintained by 'Yihui Xie'

Description

Miscellaneous functions commonly used in other packages maintained by 'Yihui Xie'.

Copy Link

Version

Install

install.packages('xfun')

Monthly Downloads

1,406,738

Version

0.60

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Yihui Xie

Last Published

July 9th, 2026

Functions in xfun (0.60)

decimal_dot

Evaluate an expression after forcing the decimal point to be a dot
cache_exec

Cache the execution of an expression in memory or on disk
do_once

Perform a task once in an R session
exit_call

Call on.exit() in a parent function
env_option

Retrieve a global option from both options() and environment variables
embed_file

Embed a file, multiple files, or directory on an HTML page
divide_chunk

Divide chunk options from the code chunk body
fenced_block

Create a fenced block in Markdown
download_cache

Download a file from a URL and cache it on disk
file_ext

Manipulate filename extensions
existing_files

Find file paths that exist
download_file

Try various methods to download a file
gsub_file

Search and replace strings in files
grep_sub

Perform replacement with gsub() on elements matched from grep()
file_rename

Rename files and directories
format_bytes

Format numbers of bytes using a specified unit
file_string

Read a text file and concatenate the lines by '\n'
lazy_save

Save objects to files and lazy-load them
is_sub_path

Test if a path is a subpath of a dir
join_words

Join multiple words into a single string
find_globals

Find global/local variables in R code
github_releases

Get the tags of GitHub releases of a repository
is_ascii

Check if a character vector consists of entirely ASCII characters
is_blank

Test if a character vector consists of blank strings
html_tag

Tools for HTML tags
from_root

Get the relative path of a path in a project relative to the current working directory
in_dir

Evaluate an expression under a specified working directory
install_dir

Install a source package from a directory
install_github

An alias of remotes::install_github()
is_web_path

Test if a path is a web path
is_R_CMD_check

Some utility functions for checking packages
is_abs_path

Test if paths are relative or absolute
msg_cat

Generate a message with cat()
mime_type

Get the MIME types of files
native_encode

Try to use the system native encoding to represent a character vector
normalize_path

Normalize paths
new_app

Create or stop a local web application
news2md

Convert package news to the Markdown format
mark_dirs

Mark some paths as directories
md5

Calculate the MD5 checksums of R objects
md_table

Generate a simple Markdown pipe table
magic_path

Find a file or directory under a root directory
pkg_bib

Generate BibTeX bibliography databases for R packages
optipng

Run OptiPNG on all PNG files under a directory
is_windows

Test for types of operating systems
post_release

Perform post-CRAN-release routine tasks
pkg_attach

Attach or load packages, and automatically install missing packages if requested
numbers_to_words

Convert numbers to English words
proj_root

Return the (possible) root directory of a project
proc_kill

Kill a process and (optionally) all its child processes
process_file

Read a text file, process the text with a function, and write the text back
parse_only

Parse R code and do not keep the source
record

Run R code and record the results
rand_unit

Pseudo-random numbers on [0, 1) based on a linear congruential generator
record_print

Print methods for record()
raw_string

Print a character vector in its raw form
random_port

Find a random available TCP port
prose_index

Find the indices of lines in Markdown that are prose (not code blocks)
read_bin

Read all records of a binary file as a raw vector by default
protect_math

Protect math expressions in pairs of backticks in Markdown
read_all

Read all text files and concatenate their content
read_utf8

Read / write files encoded in UTF-8
same_path

Test if two paths are the same after they are normalized
serve_dir

Serve a static directory
retry

Retry calling a function for a number of times
session_info

An alternative to sessionInfo() to print session information
rstudio_type

Type a character vector into the RStudio source editor
rename_seq

Rename files with a sequential numeric prefix
set_envvar

Set environment variables
rest_api

Get data from a REST API
relative_path

Get the relative path of a path relative to a directory
rev_check

Run R CMD check on the reverse dependencies of a package
taml_load

A simple YAML reader and writer
str_wrap

Wrap character vectors
tabset

Represent a (recursive) list with (nested) tabsets
split_source

Split source lines into complete expressions
strip_html

Strip HTML tags
split_lines

Split a character vector by line breaks
shrink_images

Shrink images to a maximum width
upload_imgur

Upload an image to imgur.com
tinify

Use the Tinify API to compress PNG and JPEG images
system3

A customized wrapper for system2()
strict_list

Strict lists
submit_cran

Submit a source package to CRAN
try_error

Try an expression and see if it throws an error
tojson

A simple JSON serializer
tree

Turn the output of str() into a tree diagram
yaml_load

Read YAML data
yaml_body

Partition the YAML metadata and the body in a document
valid_syntax

Check if the syntax of the code is valid
url_accessible

Test if a URL is accessible
url_destination

Get the final destination of a URL
url_filename

Extract filenames from a URLs
try_silent

Try to evaluate an expression silently
upload_ftp

Upload to an FTP server via curl
alnum_id

Generate ID strings
Rscript

Run the commands Rscript and R CMD
broken_packages

Find out broken packages and reinstall them
base64_encode

Encode/decode data into/from base64 encoding.
base64_uri

Generate the Data URI for a file
attr2

Obtain an attribute of an object without partial matching
browser_dom

Execute JavaScript on an HTML page via a headless browser and dump the DOM
Rscript_call

Call a function in a new R session via Rscript()
bg_process

Start a background process
base_pkgs

Get base R package names
dir_exists

Test the existence of files and directories
browser_print

Print a web page to PDF/PNG/JPEG
csv_options

Parse comma-separated chunk options
bump_version

Bump version numbers
del_empty_dir

Delete an empty directory
dir_create

Create a directory recursively by default
crandalf_check

Submit check jobs to crandalf
cache_rds

Cache the value of an R expression to an RDS file