## Friday, March 7, 2014

### Ever wonder how popular your favorite R functions are?

How's that fried pickle sandwich treating you?  Perhaps your taste in R  functions are less bizarre than your taste in R commands?

Now you can easily find out using this new shiny app!  In this post I use the R function frequency table compiled by John Myles White in 2009 in which he counts the occurrences of words in the source files of all CRAN packages.

I take his table and I modify it slightly to include a ranking system as well as a count of the number of characters in each function.  In this Shiny application you can see both frequencies of functions graphically for a user specified range as well as find within the frequency chart easily search by imputing function names.

Play with the shiny app!
https://econometricsbysimulation.shinyapps.io/FCount/
I before creating the shiny App I needed to work on the frequency data a bit:

First off get the CSV file provided by John Myles White:
http://www.johnmyleswhite.com/content/data_sets/r_function_frequencies.csv

freqTable <- read.csv("r_function_frequencies.csv")

freqTable<-freqTable[!is.na(freqTable[,1]),]

# Let's look at the data
freqTable <-freqTable[order(freqTable$Call.Count, decreasing = T),] # Okay so we have over 27,000 words with some of them appearing as  # infrequently as 12 times. Let's make the minimum 25 occurrences. # freqTable <- freqTable[freqTable$Call.Count>=25,]

# Convert the freqTable data from factors to letters
freqTable[,1] <- as.character(freqTable[,1])

# When we rank the functions by occurance we have a total of 660 
# different levels
numbers <- sort(unique(freqTable[,2]), decreasing=T)
nrank <- 1:length(numbers)

# This will create a ranking from 1 to length of unique frequencies
for (i in numbers) freqTable$rank[freqTable[,2]==i] <- nrank[i==numbers] # Create a number of characters vector to be added to the frequency table freqTable$nchar <- nchar(freqTable[,1])

# Save the table for access in Shiny
save(freqTable, file="freqTable.Rdata")
Created by Pretty R at inside-R.org