Simple, Consistent Wrappers for Common String Operations

A consistent, simple and easy to use set of wrappers around the fantastic 'stringi' package. All function and argument names (and positions) are consistent, all functions deal with "NA"'s and zero length vectors in the same way, and the output from one function is easy to feed into the input of another.

CRANstatus Travis buildstatus AppVeyor BuildStatus Codecov testcoverage Lifecycle:stable


Strings are not glamorous, high-profile components of R, but they do play a big role in many data cleaning and preparation tasks. The stringr package provide a cohesive set of functions designed to make working with strings as easy as possible. If you’re not familiar with strings, the best place to start is the chapter on strings in R for Data Science.

stringr is built on top of stringi, which uses the ICU C library to provide fast, correct implementations of common string manipulations. stringr focusses on the most important and commonly used string manipulation functions whereas stringi provides a comprehensive set covering almost anything you can imagine. If you find that stringr is missing a function that you need, try looking in stringi. Both packages share similar conventions, so once you’ve mastered stringr, you should find stringi similarly easy to use.


# Install the released version from CRAN:
# Install the cutting edge development version from GitHub:
# install.packages("devtools")



All functions in stringr start with str_ and take a vector of strings as the first argument.

x <- c("why", "video", "cross", "extra", "deal", "authority")
#> [1] 3 5 5 5 4 9
str_c(x, collapse = ", ")
#> [1] "why, video, cross, extra, deal, authority"
str_sub(x, 1, 2)
#> [1] "wh" "vi" "cr" "ex" "de" "au"

Most string functions work with regular expressions, a concise language for describing patterns of text. For example, the regular expression "[aeiou]" matches any single character that is a vowel:

str_subset(x, "[aeiou]")
#> [1] "video"     "cross"     "extra"     "deal"      "authority"
str_count(x, "[aeiou]")
#> [1] 0 3 1 2 2 4

There are seven main verbs that work with patterns:

  • str_detect(x, pattern) tells you if there’s any match to the pattern.

    str_detect(x, "[aeiou]")
  • str_count(x, pattern) counts the number of patterns.

    str_count(x, "[aeiou]")
    #> [1] 0 3 1 2 2 4
  • str_subset(x, pattern) extracts the matching components.

    str_subset(x, "[aeiou]")
    #> [1] "video"     "cross"     "extra"     "deal"      "authority"
  • str_locate(x, pattern) gives the position of the match.

    str_locate(x, "[aeiou]")
    #>      start end
    #> [1,]    NA  NA
    #> [2,]     2   2
    #> [3,]     3   3
    #> [4,]     1   1
    #> [5,]     2   2
    #> [6,]     1   1
  • str_extract(x, pattern) extracts the text of the match.

    str_extract(x, "[aeiou]")
    #> [1] NA  "i" "o" "e" "e" "a"
  • str_match(x, pattern) extracts parts of the match defined by parentheses.

    # extract the characters on either side of the vowel
    str_match(x, "(.)[aeiou](.)")
    #>      [,1]  [,2] [,3]
    #> [1,] NA    NA   NA  
    #> [2,] "vid" "v"  "d" 
    #> [3,] "ros" "r"  "s" 
    #> [4,] NA    NA   NA  
    #> [5,] "dea" "d"  "a" 
    #> [6,] "aut" "a"  "t"
  • str_replace(x, pattern, replacement) replaces the matches with new text.

    str_replace(x, "[aeiou]", "?")
    #> [1] "why"       "v?deo"     "cr?ss"     "?xtra"     "d?al"      "?uthority"
  • str_split(x, pattern) splits up a string into multiple pieces.

    str_split(c("a,b", "c,d,e"), ",")
    #> [[1]]
    #> [1] "a" "b"
    #> [[2]]
    #> [1] "c" "d" "e"

As well as regular expressions (the default), there are three other pattern matching engines:

  • fixed(): match exact bytes
  • coll(): match human letters
  • boundary(): match boundaries

RStudio Addin

The RegExplain RStudio addin provides a friendly interface for working with regular expressions and functions from stringr. This addin allows you to interactively build your regexp, check the output of common string matching functions, consult the interactive help pages, or use the included resources to learn regular expressions.

This addin can easily be installed with devtools:

# install.packages("devtools")

Compared to base R

R provides a solid set of string operations, but because they have grown organically over time, they can be inconsistent and a little hard to learn. Additionally, they lag behind the string operations in other programming languages, so that some things that are easy to do in languages like Ruby or Python are rather hard to do in R.

  • Uses consistent function and argument names. The first argument is always the vector of strings to modify, which makes stringr work particularly well in conjunction with the pipe:

    letters %>%
      .[1:10] %>% 
      str_pad(3, "right") %>%
    #>  [1] "a  b" "b  c" "c  d" "d  e" "e  f" "f  g" "g  h" "h  i" "i  j" "j  k"
  • Simplifies string operations by eliminating options that you don’t need 95% of the time.

  • Produces outputs than can easily be used as inputs. This includes ensuring that missing inputs result in missing outputs, and zero length inputs result in zero length outputs.


stringr 1.4.0

  • str_interp() now renders lists consistently independent on the presence of additional placeholders (@amhrasmussen).

  • New str_starts() and str_ends() functions to detect patterns at the beginning or end of strings (@jonthegeek, #258).

  • str_subset(), str_detect(), and str_which() get negate argument, which is useful when you want the elements that do NOT match (#259, @yutannihilation).

  • New str_to_sentence() function to capitalize with sentence case (@jonthegeek, #202).

stringr 1.3.1

  • str_replace_all() with a named vector now respects modifier functions (#207)

  • str_trunc() is once again vectorised correctly (#203, @austin3dickey).

  • str_view() handles NA values more gracefully (#217). I've also tweaked the sizing policy so hopefully it should work better in notebooks, while preserving the existing behaviour in knit documents (#232).

stringr 1.3.0

API changes

  • During package build, you may see Error : object ‘’ is not exported by 'namespace:stringr'. This is because the long deprecated str_join(), and perl() have now been removed.

New features

  • str_glue() and str_glue_data() provide convenient wrappers around glue and glue_data() from the glue package (#157).

  • str_flatten() is a wrapper around stri_flatten() and clearly conveys flattening a character vector into a single string (#186).

  • str_remove() and str_remove_all() functions. These wrap str_replace() and str_replace_all() to remove patterns from strings. (@Shians, #178)

  • str_squish() removes spaces from both the left and right side of strings, and also converts multiple space (or space-like characters) to a single space within strings (@stephlocke, #197).

  • str_sub() gains omit_na argument for ignoring NA. Accordingly, str_replace() now ignores NAs and keeps the original strings. (@yutannihilation, #164)

Bug fixes and minor improvements

  • str_trunc() now preserves NAs (@ClaytonJY, #162)

  • str_trunc() now throws an error when width is shorter than ellipsis (@ClaytonJY, #163).

  • Long deprecated str_join(), and perl() have now been removed.

stringr 1.2.0

API changes

  • str_match_all() now returns NA if an optional group doesn't match (previously it returned ""). This is more consistent with str_match() and other match failures (#134).

New features

  • In str_replace(), replacement can now be a function that is called once for each match and whose return value is used to replace the match.

  • New str_which() mimics grep() (#129).

  • A new vignette (vignette("regular-expressions")) describes the details of the regular expressions supported by stringr. The main vignette (vignette("stringr")) has been updated to give a high-level overview of the package.

Minor improvements and bug fixes

  • str_order() and str_sort() gain explicit numeric argument for sorting mixed numbers and strings.

  • str_replace_all() now throws an error if replacement is not a character vector. If replacement is NA_character_ it replaces the complete string with replaces with NA (#124).

  • All functions that take a locale (e.g. str_to_lower() and str_sort()) default to "en" (English) to ensure that the default is consistent across platforms.

stringr 1.1.0

  • Add sample datasets: fruit, words and sentences.

  • fixed(), regex(), and coll() now throw an error if you use them with anything other than a plain string (#60). I've clarified that the replacement for perl() is regex() not regexp() (#61). boundary() has improved defaults when splitting on non-word boundaries (#58, @lmullen).

  • str_detect() now can detect boundaries (by checking for a str_count() > 0) (#120). str_subset() works similarly.

  • str_extract() and str_extract_all() now work with boundary(). This is particularly useful if you want to extract logical constructs like words or sentences. str_extract_all() respects the simplify argument when used with fixed() matches.

  • str_subset() now respects custom options for fixed() patterns (#79, @gagolews).

  • str_replace() and str_replace_all() now behave correctly when a replacement string contains $s, \\\\1, etc. (#83, #99).

  • str_split() gains a simplify argument to match str_extract_all() etc.

  • str_view() and str_view_all() create HTML widgets that display regular expression matches (#96).

  • word() returns NA for indexes greater than number of words (#112).

stringr 1.0.0

  • stringr is now powered by stringi instead of base R regular expressions. This improves unicode and support, and makes most operations considerably faster. If you find stringr inadequate for your string processing needs, I highly recommend looking at stringi in more detail.

  • stringr gains a vignette, currently a straight forward update of the article that appeared in the R Journal.

  • str_c() now returns a zero length vector if any of its inputs are zero length vectors. This is consistent with all other functions, and standard R recycling rules. Similarly, using str_c("x", NA) now yields NA. If you want "xNA", use str_replace_na() on the inputs.

  • str_replace_all() gains a convenient syntax for applying multiple pairs of pattern and replacement to the same vector:

    input <- c("abc", "def")
    str_replace_all(input, c("[ad]" = "!", "[cf]" = "?"))
  • str_match() now returns NA if an optional group doesn't match (previously it returned ""). This is more consistent with str_extract() and other match failures.

  • New str_subset() keeps values that match a pattern. It's a convenient wrapper for x[str_detect(x)] (#21, @jiho).

  • New str_order() and str_sort() allow you to sort and order strings in a specified locale.

  • New str_conv() to convert strings from specified encoding to UTF-8.

  • New modifier boundary() allows you to count, locate and split by character, word, line and sentence boundaries.

  • The documentation got a lot of love, and very similar functions (e.g. first and all variants) are now documented together. This should hopefully make it easier to locate the function you need.

  • has been deprecated in favour of fixed|regex|coll(x, = TRUE), perl(x) has been deprecated in favour of regex(x).

  • str_join() is deprecated, please use str_c() instead.

stringr 0.6.2

  • fixed path in str_wrap example so works for more R installations.

  • remove dependency on plyr

stringr 0.6.1

  • Zero input to str_split_fixed returns 0 row matrix with n columns

  • Export str_join

stringr 0.6

  • new modifier perl that switches to Perl regular expressions

  • str_match now uses new base function regmatches to extract matches - this should hopefully be faster than my previous pure R algorithm

stringr 0.5

  • new str_wrap function which gives strwrap output in a more convenient format

  • new word function extract words from a string given user defined separator (thanks to suggestion by David Cooper)

  • str_locate now returns consistent type when matching empty string (thanks to Stavros Macrakis)

  • new str_count counts number of matches in a string.

  • str_pad and str_trim receive performance tweaks - for large vectors this should give at least a two order of magnitude speed up

  • str_length returns NA for invalid multibyte strings

  • fix small bug in internal recyclable function

stringr 0.4

  • all functions now vectorised with respect to string, pattern (and where appropriate) replacement parameters
  • fixed() function now tells stringr functions to use fixed matching, rather than escaping the regular expression. Should improve performance for large vectors.
  • new modifier tells stringr functions to ignore case of pattern.
  • str_replace renamed to str_replace_all and new str_replace function added. This makes str_replace consistent with all functions.
  • new str_sub<- function (analogous to substring<-) for substring replacement
  • str_sub now understands negative positions as a position from the end of the string. -1 replaces Inf as indicator for string end.
  • str_pad side argument can be left, right, or both (instead of center)
  • str_trim gains side argument to better match str_pad
  • stringr now has a namespace and imports plyr (rather than requiring it)

stringr 0.3

  • fixed() now also escapes |
  • str_join() renamed to str_c()
  • all functions more carefully check input and return informative error messages if not as expected.
  • add invert_match() function to convert a matrix of location of matches to locations of non-matches
  • add fixed() function to allow matching of fixed strings.

stringr 0.2

  • str_length now returns correct results when used with factors
  • str_sub now correctly replaces Inf in end argument with length of string
  • new function str_split_fixed returns fixed number of splits in a character matrix
  • str_split no longer uses strsplit to preserve trailing breaks

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.4.0 by Hadley Wickham, 3 years ago,

Report a bug at

Browse source code at

Authors: Hadley Wickham [aut, cre, cph] , RStudio [cph, fnd]

Documentation:   PDF Manual  

GPL-2 | file LICENSE license

Imports glue, magrittr, stringi

Suggests covr, htmltools, htmlwidgets, knitr, rmarkdown, testthat

Imported by AFM, AGread, AID, AMAPVox, APCI, ARDL, ARPALData, ASIP, AirSensor, AovBay, ApacheLogProcessor, Arothron, AvInertia, BARIS, BAwiR, BCT, BED, BETS, BMRSr, BTLLasso, BacArena, BallMapper, BasketballAnalyzeR, BatchGetSymbols, BayesFactor, Bchron, BivRec, BrazilMet, CB2, CGPfunctions, CHOIRBM, CIAAWconsensus, CIMTx, CKMRpop, CLME, CMapViz, CNAIM, CNVScope, COINr, CRANsearcher, CSGo, CausalQueries, Cluster.OBeu, CoFRA, Conigrave, CovidMutations, CruzPlot, DCEtool, DCLEAR, DGEobj, DGEobj.utils, DIDmultiplegt, DOPE, DSMolgenisArmadillo, DSSAT, DSpoty, DataPackageR, DatabaseConnector, DatastreamDSWS2R, DeLorean, DescrTab2, DiagrammeR, DistributionFitR, DramaAnalysis, ECOTOXr, EFAtools, EnvNJ, EventStudy, Evomorph, ExcelFunctionsR, FAIRmaterials, FSK2R, FedData, Fiscore, FlickrAPI, GADMTools, GALLO, GCalignR, GIFTr, GLMcat, GenomeAdmixR, GenomicTools, GetBCBData, GetDFPData, GetDFPData2, GetFREData, GetLattesData, GetQuandlData, GetTDData, GillespieSSA2, GlmSimulatoR, Gmisc, Greg, GroupBN, HCD, HLMdiag, HTSSIP, HaDeX, HistogramTools, HydeNet, IATscores, IDCard, IPDFileCheck, IRISMustangMetrics, IRISSeismic, ISAT, ISOweek, JBrowseR, JCRImpactFactor, JumpeR, JustifyAlpha, LAGOSNE, LDAShiny, LLM, LOGAN, LifeInsuranceContracts, MCM, MIMSunit, MMeM, MODIStsp, MSbox, MaOEA, Mapinguari, MarginalMediation, MazamaCoreUtils, MazamaLocationUtils, MazamaSpatialUtils, MetaDBparse, MetaIntegrator, MetaUtility, MicroSEC, NFP, NHSDataDictionaRy, NMF, NMproject, NNS, NNTbiomarker, NeuralSens, Nmisc, OmicInt, OpenRepGrid, OpenRepGrid.ic, OptimaRegion, PAMmisc, PAMpal, PL94171, PRISMA2020, PWFSLSmoke, ParallelDSM, PerseusR, PesticideLoadIndicator, PhageCocktail, PlaneGeometry, Plasmidprofiler, Platypus, PoolTestR, PopED, PriceIndices, ProPublicaR, PubMedMining, PubMedWordcloud, QAIG, QCAtools, QTL.gCIMapping, QTL.gCIMapping.GUI, R2ucare, R6P, RAINBOWR, RALSA, RAMClustR, RAQSAPI, RBaseX, RCT, RClimacell, RDML, RFishBC, RInno, RJafroc, RKorAPClient, RLogicalOps, RNeXML, ROMDB, RPyGeo, RSAGA, RSDA, RSentiment, RSiteCatalyst, RSqlParser, RTL, RVA, RareComb, RavenR, RclusTool, Rcurvep, RefManageR, RevEcoR, ReviewR, Revticulate, Riex, Rilostat, RmecabKo, RonFHIR, Rprofet, Rsagacmd, Rsgf, Rwhois, Rwtss, SCtools, SDMtune, SEERaBomb, SIRE, SLEMI, SPARTAAS, SSBtools, SSHAARP, SSRA, STRMPS, SWTools, ScriptMapR, SeerMapper, ShinyQuickStarter, ShinyTester, ShortForm, SimplyAgree, SkeweDF, SleepCycles, SoilTaxonomy, SpiceFP, StratigrapheR, SunsVoc, SwimmeR, TSTr, TUFLOWR, TcGSA, TestGardener, TexExamRandomizer, ThreeWiseMonkeys, TiPS, TidyMultiqc, Tplyr, TreeDiagram, TwoWayFEWeights, UCSCXenaShiny, UniprotR, VDAP, VarBundle, ViSiElse, WikidataR, Xplortext, Z10, aMNLFA, aRbs, aRchi, abcrf, abjutils, accucor, ace2fastq, acroname, act, actel, addinsJoaoMelo, addinsOutline, admixr, adobeanalyticsr, aemo, aire.zmvm, akc, alfr, allestimates, alphavantager, altfuelr, anipaths, antaresRead, anyflights, apa, aqp, aquodom, arabic2kansuji, archetyper, archiveRetriever, arcos, asciiSetupReader, asciiruler, aslib, asremlPlus, assignPOP, attachment, attrib, audrex, auk, autoharp, autothresholdr, babette, banxicoR, basedosdados, bayesbr, baymedr, bbsBayes, bea.R, beakr, beastier, beautier, beepr, bestSDP, betalink, bggAnalytics, bib2df, bibliometrix, bibtex, bioacoustics, biocompute, biogeo, biomartr, bioseq, bipartiteD3, bitmexr, blaise, blandr, blastula, bold, boostr, boxr, bpcs, bracer, breathtestcore, breathteststan, bridger, bridgesampling, broom, broom.helpers, broom.mixed, brr, bsplus, buildr, bupaR, burnr, cabinets, calpassapi, campfin, cansim, cape, carat, card, catSplit, causact, cder, censable, censusr, chartql, cheatsheet, checkLuhn, cheese, chilemapas, choroplethr, chorrrds, cimir, cleanTS, clifro, clinDataReview, clustringr, cmaRs, cnum, coalitions, codebook, collidr, colorfindr, colorizer, colormap, combinedevents, combiroc, commentr, compareDF, completejourney, compstatr, concatipede, concordance, configr, confoundr, conmet, conquestr, convergEU, convertid, corporaexplorer, correlationfunnel, cosinor2, covid19france, covid19india, covid19us, covidregionaldata, cpsvote, crandep, cranly, crctStepdown, crimedata, crispRdesignR, cromwellDashboard, crosstable, crossword.r, crplyr, crtests, cruts, cspp, csvwr, cvCovEst, cvms, cyclestreets, cylcop, czso, d3Tree, dMod, dPCP, dabestr, daiR, dampack, dann, daqapo, dartR, datadogr, dataframeexplorer, datagovindia, dataone, datapackage.r, dataspice, datazoom.amazonia, dbglm, decisionSupport, deepdive, depigner, describedata, detector, detrendr, devFunc, devtoolbox, diathor, diceR, did2s, didimputation, difconet, diffEnrich, dipsaus, disk.frame, distcomp, distill, div, dkanr, dmai, do, doc2concrete, docreview, docxtools, doseminer, dotwhisker, dowser, dplR, dplyrAssist, dragon, drawer, drpop, drumr, dscore, dsmisc, dynparam, dynutils, dynwrap, easyalluvial, easyr, ebirdst, ecce, ech, eclust, ecocomDP, edbuildmapr, edbuildr, edeaR, edgar, eemR, efts, eiCompare, elementR, emayili, emba, emdi, emoji, emuR, ensembleTax, entcn, eph, epitweetr, epos, escalation, eurlex, eurostat, exampletestr, exams.mylearn, exams2sakai, expDB, explore, eye, eyelinker, ez, ezpickr, facerec, factorEx, fastDummies, fastLink, fbRanks, fbar, fcaR, fdapaceShiny, feamiR, featuretoolsR, fedmatch, fedstatAPIr, ferrn, ffscrapr, fgdr, fgeo.plot, fhircrackr, finalfit, findInFiles, findInGit, findR, fipe, fishualize, fitbitScraper, fitzRoy, flair, flattabler, flipbookr, foieGras, foodingraph, foqat, forestecology, framecleaner, frenchdata, freqtables, fsr, fssemR, ftExtra, funModeling, functiondepends, fusen, futureheatwaves, fuzzyjoin, g3viz, galah, games, ganalytics, garchmodels, gastempt, gbfs, gde, geneHummus, genekitr, genemodel, genepop, genius, geniusr, genscore, geocacheR, geomander, geouy, geoviz, gesisdata, gfcanalysis, gfoRmula, ggHoriPlot, ggPMX, ggResidpanel, ggVennDiagram, ggasym, ggcleveland, ggdag, ggetho, ggfacto, ggformula, ggfortify, gginnards, ggiraphExtra, ggmap, ggmotif, ggpage, ggplotAssist, ggplotgui, ggpp, ggquickeda, ggthemes, gitear, gitlabr, gm, gmgm, gms, googlesheets, graph4lg, gravitas, greekLetters, gridtext, grobblR, gscaLCA, gsheet, gt, gtsummary, gumboot, gunit, gutenbergr, hadron, hal9001, handwriter, healthcareai, healthyR, helda, hereR, hergm, heuristicsmineR, hgutils, highcharter, hlaR, hlidacr, hoardeR, hockeyR, htmlTable, htmldf, htsr, hurricaneexposure, huxtable, hybridModels, hydroscoper, hypercube, i2dash, iNZightTools, iai, ibawds, icdpicr, ideamdb, idmodelr, igate, ijtiff, imager, imdbapi, immunarch, immuneSIM, impactr, implicitMeasures, insee, insiderTrades, installr, insurancerating, inti, intmed, io, ip2location, ip2proxy, ipeadatar, isobxr, isoreader, itraxR, janitor, jcext, jenga, jgcricolors, journalabbr, jrc, kableExtra, kayadata, kehra, keyATM, keyToEnglish, keyringr, kgschart, kibior, kindisperse, knitr, kntnr, kokudosuuchi, labelled, lacrmr, lambdaTS, lares, latex2exp, latte, lavaanPlot, lazytrade, lcsm, leaflet.extras, ledger, lefko3, levitate, libbib, lifelogr, liftr, lilikoi,, linguisticsdown, link2GI, lipidomeR, litteR, lmem.qtler, m2r, mRpostman, mailR, malaytextr, managelocalrepo, mapbayr, mapping, materialmodifier, matlabr, mau, mauricer, mboxr, mdsr, medExtractR, medrxivr, memapp, memoria, messaging, messydates, metR, metaboData, metabolic, metacoder, metaconfoundr, metagam, metagear, metajam, metaprotr, metools, metsyn, mgm, mhcnuggetsr, mi4p, miRetrieve, microSTASIS, micromapST, microsamplingDesign, migest, migraph, mipplot, mitre, mixl, mlbstatsR, mlergm, mlr3shiny, mmaqshiny, modeltime, modeltime.ensemble, modeltime.gluonts, modeltime.h2o, modeltime.resample, moderndive, moexer, mojson, molnet, monoClust, moodleR, moonBook, morphemepiece, mpcmp, mpoly, msSPChelpR, mshap, msig, mtconnectR, mudata2, muir, multibridge, multicolor, multifear, multimorbidity, multinma, mumm, nCopula, nandb, narray, naturaList, needmining, neonUtilities, netchain, netgen, netmhc2pan, networkreporting, nfl4th, nflfastR, ngramr, nhanesA, nhdR, nichevol, njtr1, nlrx, nlstac, noaastormevents, noah, nodeSub, nparACT, nser, nucim, numbersBR, nzffdr, nzilbb.labbcat, oRus, oai, obfuscatoR, oceanis, omu, onbrand, onemapsgapi, ontoFAST, openCR, opitools, optiRum, optiSel, optiSolve, optim.functions, osmose, osrmr, outreg, owidR, oxcAAR, oxcgrt, oysteR, pRecipe, packDAMipd, packagefinder, pafr, panelr, parcats, parseRPDR, partition, pathviewr, patientProfilesVis, pbixr, pdi, peRspective, peacesciencer, peermodels, pepr, pewdata, pguIMP, pharmaRTF, phenomap, phenopix, photobiology, photobiologyInOut, photosynthesis, piecemaker, piecepackr, pingers, pipefittr, piwikproR, pixelpuzzle, pkgmaker, places, plot3logit, pmetar, pmml, podr, pointr, polished, politeness, pollster, polypharmacy, polywog, pomcheckr, postGIStools, postpack, povcalnetR, powerbydesign, pre, predict3d, presenter, prettyglm, priceR, prider, primerTree, prism, prisonbrief, proPubBills, processR, processanimateR, processcheckR, processmapR, profr, profvis, projects, promote, promotionImpact, proteus, protti, proustr, provExplainR, prozor, pryr, psfmi, psycModel, psycho, ptspotter, pureseqtmr, qMRI, qrcode, qsub, qtl2ggplot, qtl2pattern, qualtRics, quantable, quantoptr, quincunx, r2dictionary, r2mlm, r2shortcode, r6methods, rADA, rAmCharts4, rAvis, rClinicalCodes, rFIA, rKOMICS, rKolada, rNOMADS, rPraat, rSQM, ractivecampaign, radiant.model, radix, radlibs, radsafer, rainette, ralger, randomcoloR, rapport, rappsflyer, ratios, rattle, raveio, rawr, raws.profile, rbedrock, rbenvo, rbioacc, rcompendium, rcrossref, rdi, rdnb, reactablefmtr, readJDX, readrba, readsdr, readtextgrid, recodeflow, redcapAPI, redist, refreg, regexTestR, regions, regrrr, relSim, reproducer, reshape2, retroharmonize, retrosheet, revengc, rfacebookstat, rfishbase, rgenius, rgeopat2, rgoogleads, rheroicons, rim, ringostat, riskclustr, rkeops, rlc, rlme, rmarkdown, rmweather, rmytarget, robis, robotstxt, roclang, romic, ropenblas, ropercenter, roxygen2, rpcdsearch, rpredictit, rprime, rrtable, rsinaica, rslp, rsnps, rsppfp, rt, rticulate, rtmpt, rubias, rules, rusda, rvkstat, rwebstat, ryandexdirect, rym, ryouready, safetyCharts, safetyGraphics, salty, saotd, sapfluxnetr, saqgetr, sasMap, satscanMapper, sbm, sbtools, scINSIGHT, scRNAstat, schemr, scholar, schrute, scientoText, scipub, scopr, scorecardModelUtils, sdcTable, searchConsoleR, secr, secrettext, secuTrialR, seecolor, seedreg, seer, selectr, semtree, sendgridr, sensobol, sentryR, sfcr, sgat, shiny.i18n, shinyChakraUI, shinyMolBio, shinyNotes, shinyTree, shinyfilter, shinyloadtest, shinyobjects, shinyrecipes, sidrar, sigInt, simPH, simplecolors, simplevis, simr, sismonr, sistec, siteymlgen, sketcher, skimr, skynet, smpic, snakecase, snap, sobir,, socialmixr, sociome, sovereign, spAddins, spant, sparklyr, spatPomp, spatsurv, speakr, spectacles, speech, spellcheckr, sperrorest, spind, spotifyr, spsComps, spsUtil, sqliter, squashinformr, ssimparser, ssrn, staRdom, stabiliser, standardize, staplr, starter, starvz, statar, stationaRy, statnipokladna, statquotes, statsearchanalyticsr, stevemisc, stickr, stlcsb, stm, stminsights, stringformattr, striprtf, subspace, suddengains, superb, supernova, survivalAnalysis, survivoR, survtmle, svgtools, swatches, sweidnumbr, swfscAirDAS, swirl, swirlify, swissdd, syllabifyr, synoptReg, tableschema.r, tabshiftr, tabulator, tabxplor, tangram, taxa, taxotools, tcplfit2, tealeaves, telefit, telemac, templates, tenispolaR, text, text2map, text2sdg, texter, textmineR, textreuse, thinkr, threeBrain, tidyMicro, tidyREDCap, tidybins, tidycat, tidycensus, tidycharts, tidycomm, tidyfst, tidyft, tidygate, tidygeoRSS, tidylda, tidypaleo, tidypmc, tidypredict, tidyquant, tidyquery, tidyqwi, tidyrules, tidyseurat, tidystats, tidytext, tidytidbits, tidyverse, tidywikidatar, tigris, timelineR, timetk, tinyarray, tinyscholar, tipitaka, todor, tongfen, torchdatasets, tosca, tosr, totalcensus, trainR, traineR, treeman, trendyy, trialr, tspmeta, twn, txshift, typehint, ubiquity, ucbthesis, ukbtools, unheadr, unstruwwel, upstartr, uptasticsearch, urlshorteneR, utilsIPEA, utr.annotation, vagalumeR, valhallr, validata, valr, vardpoor, varitas, varsExplore, vcfR, vembedr, vennplot, vetools, vhcub, viafr, vizdraws, vortexR, voson.tcn, vosonSML, votesmart, vows, vpc, vprr, walmartAPI, waves, wbstats, wcde, webTRISr, webchem, webr, weed, wiesbaden, wig, wikilake, wikipediatrend, wordbankr, wordpredictor, workflowr, wrappedtools, wsjplot, wux, wyz.code.offensiveProgramming, wyz.code.rdoc, x.ent, x12, xROI, xesreadR, xgxr, xml2relational, xmlconvert, xpose, xpose.nlmixr, yatah, yhatr, ymlthis, youtubecaption, zipangu, zipcodeR, zoomGroupStats, ztable, ztype.

Depended on by AnDE, EstimationTools, FCSlib, FRESA.CAD, Fgmutils, LindenmayeR, Maeswrap, OmnibusFisher, PersomicsArray, PhysActBedRest, RGENERATEPREC, ReadDIM, String2AdjMatrix, TBFmultinomial, VarfromPDB, acs, cchsflow, dataPreparation, easyPSID, eqs2lavaan, exsic, eyeTrackR, filesstrings, geotopbricks, kstIO, lmomPi, microclass, micropan, microseq, mtk, muRL, neuroim, orgR, pafdR, patchSynctex, pmxTools, pxR, qqr, recoder, repello, rsurfer, sim1000G, snpReady, sqlutils, ssh.utils, strex, surveybootstrap, tumblR, vfcp.

Suggested by Andromeda, BayesMallows, ClimClass, DataFakeR, DisImpact, GDINA, JSmediation, MARSS, NBAloveR, ProjectTemplate, QTOCen, RCzechia, RVerbalExpressions, RcmdrPlugin.WorldFlora, Rpoet, ShinyItemAnalysis, SmartMeterAnalytics, SoundexBR, TKCat, WorldFlora, ZIprop, altair, amapGeocode, anomalize, arcpullr, arrow, autoTS,, bayestestR, bdpar, beadplexr, blogdown, brickr, bruceR, clusterPower, composits, cxr, cytominer, datplot, dccvalidator, deepredeff, diffdf, docknitr, dtree, eeptools, envDocument, epigraphdb, ethnobotanyR, eudract, exuber, fec16, fgeo.tool, fivethirtyeight, flexpolyline, fontMPlus, frequencyConnectedness, ggenealogy, ggmulti, ggrepel, glue, gluedown, golem, haldensify, healthyR.ts, heemod, himach, httk, implyr, industRial, infer, legislatoR, lemon, miscset, modelplotr, multiverse, mvrsquared, natstrat, newsanchor, nima, nseval, oolong, optparse, origami, outcomerate, plotROC, ppitables, pspline.inference, purgeR, qCBA, ragtop, raw, regmedint, regsem, repr, rex, rfordummies, rminizinc, rmonad, robservable, scaffolder, shinymeta, sift, simPop, simstandard, spatialEco, states, stringfish, sweep, swfscDAS, syuzhet, taRifx, tfdeploy, tidySEM, tidylo, tikzDevice, torchaudio, tracerer, transplantr, troopdata, tvthemes, uavRmp, unpivotr, unusualprofile, usmap, valaddin, vegdata, vindecodr, vitae, vkR, wingui, wsrf.

See at CRAN