1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5<meta charset="utf-8"> 6<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 7<title>Welcome to Text Mining with R | Text Mining with R</title> 8<meta name="author" content="Julia Silge and David Robinson"> 9<meta name="description" content="A guide to text analysis within the tidy data framework, using the tidytext package and other tidy tools"> 10<meta name="generator" content="bookdown 0.42 with bs4_book()"> 11<meta property="og:title" content="Welcome to Text Mining with R | Text Mining with R"> 12<meta property="og:type" content="book"> 13<meta property="og:url" content="https://www.tidytextmining.com/"> 14<meta property="og:image" content="https://www.tidytextmining.com/images/cover.png"> 15<meta property="og:description" content="A guide to text analysis within the tidy data framework, using the tidytext package and other tidy tools"> 16<meta name="twitter:card" content="summary"> 17<meta name="twitter:title" content="Welcome to Text Mining with R | Text Mining with R"> 18<meta name="twitter:description" content="A guide to text analysis within the tidy data framework, using the tidytext package and other tidy tools"> 19<meta name="twitter:image" content="https://www.tidytextmining.com/images/cover.png"> 20<!-- JS -->
20<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script>
20<script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/6.4.6/fuse.js" integrity="sha512-zv6Ywkjyktsohkbp9bb45V6tEMoWhzFzXis+LrMehmJZZSys19Yxf1dopHx7WzIKxr5tK2dVcYmaCk2uqdjF4A==" crossorigin="anonymous"></script>
20<script src="https://kit.fontawesome.com/6ecbd6c532.js" crossorigin="anonymous"></script>
20<script src="libs/jquery-3.6.0/jquery-3.6.0.min.js"></script>
20<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 21<link href="libs/bootstrap-4.6.0/bootstrap.min.css" rel="stylesheet">
22<script src="libs/bootstrap-4.6.0/bootstrap.bundle.min.js"></script>
22<link href="libs/Roboto-0.4.9/font.css" rel="stylesheet">
23<script src="libs/bs3compat-0.9.0/transition.js"></script>
23<script src="libs/bs3compat-0.9.0/tabs.js"></script>
23<script src="libs/bs3compat-0.9.0/bs3compat.js"></script>
23<link href="libs/bs4_book-1.0.0/bs4_book.css" rel="stylesheet">
24<script src="libs/bs4_book-1.0.0/bs4_book.js"></script>
24<script>
vendor: 365 bytes, lines 24-30
24 25 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 26 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 27 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 28 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 29 30 ga('create', '
30UA-68765210-2
vendor: 47 bytes, lines 30-33
30', 'auto'); 31 ga('send', 'pageview'); 32 33
33</script>
33<script src="https://cdnjs.cloudflare.com/ajax/libs/autocomplete.js/0.38.0/autocomplete.jquery.min.js" integrity="sha512-GU9ayf+66Xx2TmpxqJpliWbT5PiGYxpaG8rfnBEk1LL8l1KGkRShhngwdXK1UgqhAzWpZHSiYPc09/NwDQIGyg==" crossorigin="anonymous"></script>
33<script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/mark.min.js" integrity="sha512-5CYOlHXGh6QpOFA/TeTylKLWfB3ftPsde7AnmhuitiTX4K5SqCLBeKro6sPS8ilsz1Q4NRx3v8Ko2IBiszzdww==" crossorigin="anonymous"></script>
33<!-- CSS --><style type="text/css"> 34 35 div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} 36 </style> 37<style type="text/css"> 38 /* Used with Pandoc 2.11+ new --citeproc when CSL is used */ 39 div.csl-bib-body { } 40 div.csl-entry { 41 clear: both; 42 margin-bottom: 0em; 43 } 44 .hanging div.csl-entry { 45 margin-left:2em; 46 text-indent:-2em; 47 } 48 div.csl-left-margin { 49 min-width:2em; 50 float:left; 51 } 52 div.csl-right-inline { 53 margin-left:2em; 54 padding-left:1em; 55 } 56 div.csl-indent { 57 margin-left: 2em; 58 } 59 </style> 60</head> 61<body data-spy="scroll" data-target="#toc"> 62 63<div class="container-fluid"> 64<div class="row"> 65 <header class="col-sm-12 col-lg-3 sidebar sidebar-book"><a class="sr-only sr-only-focusable" href="#content">Skip to main content</a> 66 67 <div class="d-flex align-items-start justify-content-between"> 68 <h1> 69 <a href='/' title='A Tidy Approach'>Text Mining with R</a>: 70 <small class="text-muted">A Tidy Approach</small> 71 </h1> 72 <button class="btn btn-outline-primary d-lg-none ml-2 mt-1" type="button" data-toggle="collapse" data-target="#main-nav" aria-expanded="true" aria-controls="main-nav"><i class="fas fa-bars"></i><span class="sr-only">Show table of contents</span></button> 73 </div> 74 75 <div id="main-nav" class="collapse-lg"> 76 <form role="search"> 77 <input id="search" class="form-control" type="search" placeholder="Search" aria-label="Search"> 78</form> 79 80 <nav aria-label="Table of contents"><h2>Table of contents</h2> 81 <ul class="book-toc list-unstyled"> 82<li><a class='active' href='/'>Welcome to Text Mining with R</a></li> 83<li><a class href='/preface'>Preface</a></li> 84<li><a class href='/tidytext'><span class="header-section-number">1</span> The tidy text format</a></li> 85<li><a class href='/sentiment'><span class="header-section-number">2</span> Sentiment analysis with tidy data</a></li> 86<li><a class href='/tfidf'><span class="header-section-number">3</span> Analyzing word and document frequency: tf-idf</a></li> 87<li><a class href='/ngrams'><span class="header-section-number">4</span> Relationships between words: n-grams and correlations</a></li> 88<li><a class href='/dtm'><span class="header-section-number">5</span> Converting to and from non-tidy formats</a></li> 89<li><a class href='/topicmodeling'><span class="header-section-number">6</span> Topic modeling</a></li> 90<li><a class href='/twitter'><span class="header-section-number">7</span> Case study: comparing Twitter archives</a></li> 91<li><a class href='/nasa'><span class="header-section-number">8</span> Case study: mining NASA metadata</a></li> 92<li><a class href='/usenet'><span class="header-section-number">9</span> Case study: analyzing usenet text</a></li> 93<li><a class href='/references'><span class="header-section-number">10</span> References</a></li> 94</ul> 95 96 <div class="book-extra"> 97 <p><a id="book-repo" href="https://github.com/juliasilge/tidy-text-mining">View book source <i class="fab fa-github"></i></a></p> 98 </div> 99 </nav> 100</div> 101 </header><main class="col-sm-12 col-md-9 col-lg-7" id="content"><!--bookdown:title:end--><!--bookdown:title:start--><div id="welcome-to-text-mining-with-r" class="section level1 unnumbered"> 102<h1>Welcome to Text Mining with R<a class="anchor" aria-label="anchor" href="#welcome-to-text-mining-with-r"><i class="fas fa-link"></i></a> 103</h1> 104<p><a href="http://amzn.to/2tZkmxG"><img src="images/cover.png" width="350" height="460" alt="Buy from Amazon" class="cover"></a></p> 105<p>This is the <a href="http://tidytextmining.com/">website</a> for <em>Text Mining with R</em>! Visit the <a href="https://github.com/juliasilge/tidy-text-mining">GitHub repository for this site</a>, find the book at <a href="http://www.jdoqocy.com/click-4428796-11290546?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920067153.do%3Fcmp%3Daf-strata-books-video-product_cj_0636920067153_%25zp&cjsku=0636920067153">OâReilly</a>, or <a href="http://amzn.to/2tZkmxG">buy it on Amazon</a>.</p> 106<p>This work by <a href="http://juliasilge.com/">Julia Silge</a> and <a href="http://varianceexplained.org/">David Robinson</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">
106Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States License</a>.</p> 107<p><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/3.0/us/88x31.png"></a></p> 108<p><a href="https://www.netlify.com"> <img src="https://www.netlify.com/v3/img/components/netlify-color-accent.svg" alt="Deploys by Netlify"></a></p>
109<script>
vendor: 345 bytes, lines 109-115
109 110 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 111 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 112 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 113 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 114 115 ga('create', '
115UA-68765210-2
vendor: 39 bytes, lines 115-117
115', 'auto'); 116 ga('send', 'pageview'); 117
118</script>
118 119</div> 120 <div class="chapter-nav"> 121<div class="empty"></div> 122<div class="next"><a href='/preface'>Preface</a></div> 123</div></main><div class="col-md-3 col-lg-2 d-none d-md-block sidebar sidebar-chapter"> 124 <nav id="toc" data-toggle="toc" aria-label="On this page"><h2>On this page</h2> 125 <ul class="nav navbar-nav"><li><a class="nav-link" href="#welcome-to-text-mining-with-r">Welcome to Text Mining with R</a></li></ul> 126 127 <div class="book-extra"> 128 <ul class="list-unstyled"> 129<li><a id="book-source" href="https://github.com/juliasilge/tidy-text-mining/blob/master/index.Rmd">View source <i class="fab fa-github"></i></a></li> 130 <li><a id="book-edit" href="https://github.com/juliasilge/tidy-text-mining/edit/master/index.Rmd">Edit this page <i class="fab fa-github"></i></a></li> 131 </ul> 132</div> 133 </nav> 134</div> 135 136</div> 137</div> <!-- .container --> 138 139<footer class="bg-primary text-light mt-5"><div class="container"><div class="row"> 140 141 <div class="col-12 col-md-6 mt-3"> 142 <p>"<strong>Text Mining with R</strong>: A Tidy Approach" was written by Julia Silge and David Robinson. It was last built on 2025-04-07.</p> 143 </div> 144 145 <div class="col-12 col-md-6 mt-3"> 146 <p>This book was built by the <a class="text-light" href="https://bookdown.org">bookdown</a> R package.</p> 147 </div> 148 149</div></div> 150</footer><!-- dynamically load mathjax for compatibility with self-contained -->
150<script> 151 (function () { 152 var script = document.createElement("script"); 153 script.type = "text/javascript"; 154 var src = "true"; 155 if (src === "" || src === "true") src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/latest.js?config=TeX-MML-AM_CHTML"; 156 if (location.protocol !== "file:") 157 if (/^https?:/.test(src)) 158 src = src.replace(/^https?:/, ''); 159 script.src = src; 160 document.getElementsByTagName("head")[0].appendChild(script); 161 })(); 162</script>
162<script type="text/x-mathjax-config">const popovers = document.querySelectorAll('a.footnote-ref[data-toggle="popover"]'); 163for (let popover of popovers) { 164 const div = document.createElement('div'); 165 div.setAttribute('style', 'position: absolute; top: 0, left:0; width:0, height:0, overflow: hidden; visibility: hidden;'); 166 div.innerHTML = popover.getAttribute('data-content'); 167 168 var has_math = div.querySelector("span.math"); 169 if (has_math) { 170 document.body.appendChild(div); 171 MathJax.Hub.Queue(["Typeset", MathJax.Hub, div]); 172 MathJax.Hub.Queue(function() { 173 popover.setAttribute('data-content', div.innerHTML); 174 document.body.removeChild(div); 175 }) 176 } 177} 178</script>
178 179</body> 180</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.