Your Name Here
julio 16, 2026
Live app: https://your-account.shinyapps.io/wordfreq/ | Code: https://github.com/your-username/your-repo
Word Frequency Explorer solves this with one text box and zero setup — paste, adjust two or three simple controls, and see results update instantly.
The app has three ingredients, wired together with Shiny's reactive model:
Here's the core counting logic actually running, live, right now:
sample_text <- "the quick brown fox jumps over the lazy dog the fox is quick"
words <- unlist(strsplit(sample_text, "\\s+"))
freq <- sort(table(words), decreasing = TRUE)
head(freq, 5)
words
the fox quick brown dog
3 2 2 1 1
Feeding the app a longer passage and looking at the top 5 words after removing common stopwords:
stopwords <- c("the","and","is","a","of","in","but","at","to","too","over")
text <- "The quick brown fox jumps over the lazy dog. The dog barks at the
fox, but the fox is too quick. In the end, the quick fox and the
lazy dog become friends."
tokens <- tolower(unlist(strsplit(gsub("[^A-Za-z]", " ", text), "\\s+")))
tokens <- tokens[nchar(tokens) > 0 & !(tokens %in% stopwords)]
top5 <- sort(table(tokens), decreasing = TRUE)[1:5]
barplot(top5, col = colorRampPalette(c("#a6d8f0", "#2c7fb8"))(5),
main = "Top 5 words", ylab = "Count")
This is exactly what the deployed app renders reactively as you type.
Paste some text of your own into the app and see what floats to the top.