Package: tidyEmoji 0.5.0

tidyEmoji: Discover, Count, Categorise, Score, Translate and Relate Emoji in Text

A tidy toolkit for working with the emoji in any text column, such as social-media posts, product reviews, chat logs or survey responses. Unicode is awkward to handle and not every code point is an emoji, which makes emoji statistics fiddly to obtain. 'tidyEmoji' extracts, counts, categorises, sentiment-scores and emotion-scores emoji, converts them to and from text (for accessibility and NLP preprocessing), searches the emoji catalogue, maps emoji co-occurrence and sequences (graph-ready edge lists and n-grams), measures where and how densely emoji are used, and builds document-by-emoji feature tables for machine learning, with grapheme-aware detection (so skin-tone and multi-person sequences stay intact), returning tidy data frames that slot straight into a 'tidyverse' workflow. It also quantifies how much annotators disagreed about an emoji (interpretation risk), extracts the words around each emoji, tracks emoji use over time, measures text-emoji sentiment mismatch, and applies explicit emoji-preprocessing policies for language-model pipelines. The bundled emoji sentiment lexicon is from the Emoji Sentiment Ranking of Kralj Novak et al. (2015) <doi:10.1371/journal.pone.0144296>, released under CC BY-SA 4.0; the emotion lexicon is from EmoTag1200 of Shoeb & de Melo (2020) <https://aclanthology.org/2020.emnlp-main.720/>, released under the MIT licence.

Authors:Youzhi Yu [aut, cre]

tidyEmoji_0.5.0.tar.gz
tidyEmoji_0.5.0.zip(r-4.7-any)tidyEmoji_0.5.0.zip(r-4.6-any)tidyEmoji_0.5.0.zip(r-4.5-any)
tidyEmoji_0.5.0.tgz(r-4.6-any)tidyEmoji_0.5.0.tgz(r-4.5-any)
tidyEmoji_0.5.0.tar.gz(r-4.7-any)tidyEmoji_0.5.0.tar.gz(r-4.6-any)
tidyEmoji_0.5.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
tidyEmoji/json (API)

# Install 'tidyEmoji' in R:
install.packages('tidyEmoji', repos = c('https://pursuitofdatascience.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/pursuitofdatascience/tidyemoji/issues

Pkgdown/docs site:https://pursuitofdatascience.github.io

Datasets:

On CRAN:

Conda:

emojinlptidyverse

5.73 score 4 stars 15 scripts 416 downloads 49 exports 21 dependencies

Last updated from:f388843a08. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develOK280
source / vignettesOK264
linux-releaseOK271
macos-releaseOK238
macos-oldrelOK209
windows-develOK269
windows-releaseOK218
windows-oldrelOK258
wasm-releaseOK129

Exports:as_emojias_emoji_nameas_emoji_shortcodeas_emoji_typeemoji_adoption_lagemoji_ambiguityemoji_categorizeemoji_collocationsemoji_congruenceemoji_contextemoji_cooccurrenceemoji_densityemoji_dfmemoji_emotionemoji_emotion_labelemoji_extract_nestemoji_extract_unnestemoji_facenessemoji_filteremoji_flag_ambiguousemoji_frequencyemoji_incongruityemoji_incongruity_profileemoji_lexiconsemoji_ngramsemoji_pairsemoji_positionemoji_provenanceemoji_ratioemoji_riskemoji_sanitizeemoji_scoreemoji_searchemoji_seasonalityemoji_sentimentemoji_summaryemoji_to_textemoji_token_costemoji_tokensemoji_trendemoji_turnoveremoji_tweetsemoji_typeemoji_unicode_releasesemoji_unicode_versionemoji_version_profileregister_emoji_lexicontext_to_emojitop_n_emojis

Dependencies:clicpp11dplyremojigenericsgluelifecyclemagrittrpillarpkgconfigpurrrR6rlangstringistringrtibbletidyrtidyselectutf8vctrswithr

Introduction to tidyEmoji
Overview | Example data | Detecting and summarising emoji | emoji_summary() | emoji_filter() | Extracting emoji | emoji_extract_nest() | emoji_extract_unnest() | emoji_tokens() | A note on grapheme-aware detection | Counting emoji across the corpus | emoji_frequency() | top_n_emojis() | Categorising emoji | emoji_type(): faces versus everything else | Scoring emoji sentiment | emoji_sentiment() | Sentiment distribution | Sentiment by category | The sentiment lexicon | Interpretation risk: how much do readers disagree? | Scoring emoji emotions | Bringing your own lexicon | Relating emoji: co-occurrence and sequences | The words around an emoji | Measuring how emoji are used | Emoji over time | Emoji as model features | Text-emoji mismatch | Translating emoji to and from text | Searching the emoji catalogue | Emoji in language-model pipelines | Recording provenance | Bundled datasets | References

Last update: 2026-09-24
Started: 2022-02-17

Reversible emoji preprocessing for language models
The decision nobody writes down | A corpus built to break things | The ladder, run rather than described | It holds on the awkward cases | wrap is part of the contract, not a style choice | Do not throw away the signal you just removed | What it saves, and how to measure it honestly | Which policy, by intent | Put the versions in the methods section | See also

Last update: 2026-09-24
Started: 2026-09-17

Readme and manuals

Help Manual

Help pageTopics
Vector helpers: convert emoji to/from names and shortcodesas_emoji as_emoji_name as_emoji_shortcode
Functional type of an emoji glyphas_emoji_type
Emoji category to unicode crosswalkcategory_unicode_crosswalk
How long did this population take to adopt each emoji?emoji_adoption_lag
How ambiguous is each emoji?emoji_ambiguity
Categorise each row by the emoji categories it containsemoji_categorize
Which words keep company with which emojiemoji_collocations
Text-emoji congruenceemoji_congruence
The text around each emoji occurrenceemoji_context
Emoji co-occurrence counts, with an optional diagonalemoji_cooccurrence
Emoji density per character and per tokenemoji_density
Document-by-emoji feature matrixemoji_dfm
Emoji emotion profiles (the 8 Plutchik emotions)emoji_emotion
The dominant emoji emotion per rowemoji_emotion_label
Emoji emotion lexicon (EmoTag1200)emoji_emotion_lexicon
Add a list-column of the emoji found in each rowemoji_extract_nest
Emoji counts per row, in long (tidy) formemoji_extract_unnest
How face-heavy is each row's emoji use?emoji_faceness
Keep only the rows whose text contains emojiemoji_filter emoji_tweets
Which emoji in this corpus are most likely to be misread?emoji_flag_ambiguous
Frequency of every emoji in a text columnemoji_frequency
Text-emoji sentiment mismatchemoji_incongruity
Which emoji go against the grain of their text?emoji_incongruity_profile
List bundled emoji lexiconsemoji_lexicons
Consecutive emoji sequences (n-grams)emoji_ngrams
Co-occurring emoji pairsemoji_pairs
Where do emoji sit within each text?emoji_position
Versions behind an emoji analysis, in one rowemoji_provenance
What share of the text is emoji, and is it emoji-only?emoji_ratio
Interpretation risk per rowemoji_risk
Apply an explicit emoji policy to a text columnemoji_sanitize
Score emoji in a text column against any lexiconemoji_score
Search emoji by keyword, name or shortcodeemoji_search
Cyclical patterns in emoji useemoji_seasonality
Score the sentiment of the emoji in each rowemoji_sentiment
Emoji Sentiment Ranking lexiconemoji_sentiment_lexicon
Summarise emoji presence in a text columnemoji_summary
Replace emoji in a text column with words (demojize)emoji_to_text
What are the emoji in this text costing a tokeniser?emoji_token_cost
Tidy emoji tokens, one row per occurrence with metadataemoji_tokens
Emoji frequency over timeemoji_trend
Emoji vocabulary churn between consecutive periodsemoji_turnover
Which functional types of emoji does each row use?emoji_type
Emoji name, unicode and category crosswalkemoji_unicode_crosswalk
Unicode and Unicode Emoji release datesemoji_unicode_releases
Which Unicode emoji version does this build reflect?emoji_unicode_version
How new is this corpus's emoji repertoire?emoji_version_profile
Register a custom emoji lexiconregister_emoji_lexicon
Replace shortcodes with emoji (emojize)text_to_emoji
The most frequent emoji in a text columntop_n_emojis