rName

by Austin Routt
August 24 2014

A Weighted Random American Name Generator that uses name frequency data from the U.S. Census Bureau and Social Security Administration.

Why do we need random name generators ?

  • Authors can use them as fiction writing tools to help ease the process of creating character names

  • Parents lacking imagination can use them to name their children

  • Gamers, like authors, can also use them as tools in the process of creating character names

  • Animal Lovers can use them to facilitate feelings of attachment in those who don't care.

  • Players can use them to swiftly provide a fake identity, offering a layer of “clinger” protection not afforded to those who use their real names in the game of love.

  • Secret agents can also use them to swiftly provide a fake identity.

  • Artists can use them to help aid their creative process.

  • Developers can use them to produce mass quantities of believable sounding bots

What's special about a weighted random american name generator ?

Here is a list of the top 10 mostly frequently occurring American names, according to the 2000 Census and Social Security Administration:

```r library(xtable) if(!(exists("male"))){ male <- read.csv("malefirstnames.csv", stringsAsFactors=F) } if(!(exists("female"))){ female <- read.csv("femalefirstnames.csv", stringsAsFactors=F) } if(!(exists("last"))){ last <- read.csv("surnames.csv", stringsAsFactors=F) } temp <- head(male, 10) temp <- cbind(temp, head(female,10)) temp <- cbind(temp, head(last,10)) row.names(temp) <- c(1:10) colnames(temp) <- c("Male", "Freq", "Prob", "Female", "Freq", "Prob", "Surname") print(xtable(temp[,c(1,4,7)]), type = "html") ```

Male Female Surname
1 James Mary Smith
2 John Elizabeth Johnson
3 Robert Patricia Williams
4 Michael Jennifer Brown
5 William Linda Jones
6 David Barbara Miller
7 Joseph Margaret Davis
8 Richard Susan Garcia
9 Charles Dorothy Rodriguez
10 Thomas Sarah Wilson

Okay..So, what's special about a weighted random american name generator ?

Imagine having thousands of first names in one red hat, each only occurring once. Next, imagine having thousands of last names in a green hat, also each occurring only one time.

  • Problem Uniform random name generation would be akin to me blindly choosing one name from the red hat and one from the green, then concatenating them together; all names have an equal probability of selection, all have the same weight. Thus, the likelihood of you winding up with a name like Tiny Kox is equal to that of drawing a name like John Smith. This is fine for an individual, but for a group that should represent the average American population it isn't.

  • Solution Weighted random name generation assigns a probability to each name, so instead of having just one name per hat, names are repeated based on their probability. In this way, certain names become more likely, because they occur more often in our metaphorical hats; we have given certain names more weight.

Where can I find rName?

As you can now see, sometimes we need believable American names and uniform randomness just will not suffice with respect to group representativeness. You can find a paper concerning the rName probability data, as well as a working generator at the following website:

http://austin-routt.shinyapps.io/rName/