Learn R Programming

xfun (version 0.55)

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,295,917

Version

0.55

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Yihui Xie

Last Published

December 16th, 2025

Functions in xfun (0.55)

file_ext

Manipulate filename extensions
download_file

Try various methods to download a file
file_rename

Rename files and directories
join_words

Join multiple words into a single string
in_dir

Evaluate an expression under a specified working directory
is_ascii

Check if a character vector consists of entirely ASCII characters
is_web_path

Test if a path is a web path
file_string

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

Install a source package from a directory
do_once

Perform a task once in an R session
is_abs_path

Test if paths are relative or absolute
download_cache

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

Find global/local variables in R code
exit_call

Call on.exit() in a parent function
html_tag

Tools for HTML tags
fenced_block

Create a fenced block in Markdown
gsub_file

Search and replace strings in files
lazy_save

Save objects to files and lazy-load them
decimal_dot

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

Find a file or directory under a root directory
md_table

Generate a simple Markdown pipe table
existing_files

Find file paths that exist
env_option

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

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

Get the tags of GitHub releases of a repository
msg_cat

Generate a message with cat()
is_blank

Test if a character vector consists of blank strings
embed_file

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

Normalize paths
numbers_to_words

Convert numbers to English words
is_sub_path

Test if a path is a subpath of a dir
mime_type

Get the MIME types of files
native_encode

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

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

Return the (possible) root directory of a project
from_root

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

Parse R code and do not keep the source
news2md

Convert package news to the Markdown format
install_github

An alias of remotes::install_github()
format_bytes

Format numbers of bytes using a specified unit
new_app

Create a local web application
prose_index

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

Rename files with a sequential numeric prefix
is_R_CMD_check

Some utility functions for checking packages
protect_math

Protect math expressions in pairs of backticks in Markdown
pkg_bib

Generate BibTeX bibliography databases for R packages
mark_dirs

Mark some paths as directories
md5

Calculate the MD5 checksums of R objects
proc_kill

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

Get data from a REST API
shrink_images

Shrink images to a maximum width
split_lines

Split a character vector by line breaks
rand_unit

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

Print a character vector in its raw form
set_envvar

Set environment variables
tinify

Use the Tinify API to compress PNG and JPEG images
session_info

An alternative to sessionInfo() to print session information
read_all

Read all text files and concatenate their content
read_bin

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

Read / write files encoded in UTF-8
pkg_attach

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

A simple JSON serializer
upload_imgur

Upload an image to imgur.com
str_wrap

Wrap character vectors
split_source

Split source lines into complete expressions
system3

Run system2() and mark its character output as UTF-8 if appropriate
record

Run R code and record the results
url_accessible

Test if a URL is accessible
submit_cran

Submit a source package to CRAN
try_silent

Try to evaluate an expression silently
upload_ftp

Upload to an FTP server via curl
retry

Retry calling a function for a number of times
rev_check

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

Run OptiPNG on all PNG files under a directory
relative_path

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

Test for types of operating systems
record_print

Print methods for record()
rstudio_type

Type a character vector into the RStudio source editor
try_error

Try an expression and see if it throws an error
tree

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

Get the final destination of a URL
tabset

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

A simple YAML reader and writer
same_path

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

Check if the syntax of the code is valid
yaml_body

Partition the YAML metadata and the body in a document
strip_html

Strip HTML tags
strict_list

Strict lists
yaml_load

Read YAML data
url_filename

Extract filenames from a URLs
bg_process

Start a background process
base_pkgs

Get base R package names
base64_encode

Encode/decode data into/from base64 encoding.
Rscript_call

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

Generate the Data URI for a file
alnum_id

Generate ID strings
attr2

Obtain an attribute of an object without partial matching
browser_print

Print a web page to PDF/PNG/JPEG
broken_packages

Find out broken packages and reinstall them
Rscript

Run the commands Rscript and R CMD
del_empty_dir

Delete an empty directory
divide_chunk

Divide chunk options from the code chunk body
csv_options

Parse comma-separated chunk options
cache_rds

Cache the value of an R expression to an RDS file
bump_version

Bump version numbers
dir_exists

Test the existence of files and directories
cache_exec

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

Create a directory recursively by default
crandalf_check

Submit check jobs to crandalf