## automotive -------------------------
automotive_en_GB = R6Class(
"automotive_en_GB",
inherit = automotive_init,
cloneable = FALSE,
private = list(
# from
# https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_the_United_Kingdom
license_formats = c(
'??## ???',
'??##???')
)
)
## person --------------------------
person_en_GB = R6Class(
"person_en_GB",
inherit = person_en,
cloneable = FALSE,
private = list(
prefixes_female = c('Mrs.', 'Ms.', 'Miss', 'Dr.'),
prefixes_male = c('Mr.', 'Dr.'),
formats = c(
'{first_name_male} {last_name}',
'{first_name_male} {last_name}',
'{first_name_male} {last_name}',
'{first_name_male} {last_name}',
'{first_name_male} {last_name}-{last_name}',
'{first_name_female} {last_name}',
'{first_name_female} {last_name}',
'{first_name_female} {last_name}',
'{first_name_female} {last_name}',
'{first_name_female} {last_name}-{last_name}',
'{prefix_male} {first_name_male} {last_name}',
'{prefix_female} {first_name_female} {last_name}',
'{prefix_male} {first_name_male} {last_name}',
'{prefix_female} {first_name_female} {last_name}'),
# Names from
# http://webarchive.nationalarchives.gov.uk/20160105160709/http://ons.gov.uk/ons/publications/re-reference-tables.html?edition=tcm%3A77-243767
first_names_male = c(
'David', 'Paul', 'Christopher', 'Thomas',
'John', 'Mark', 'James',
'Stephen', 'Andrew', 'Jack', 'Michael',
'Daniel', 'Peter', 'Richard',
'Matthew', 'Robert', 'Ryan', 'Joshua',
'Alan', 'Ian', 'Simon', 'Luke',
'Samuel', 'Jordan', 'Anthony', 'Adam',
'Lee', 'Alexander', 'William',
'Kevin', 'Darren', 'Benjamin', 'Philip',
'Gary', 'Joseph', 'Brian',
'Steven', 'Liam', 'Keith', 'Martin',
'Jason', 'Jonathan', 'Jake',
'Graham', 'Nicholas', 'Craig', 'George',
'Colin', 'Neil', 'Lewis',
'Nigel', 'Oliver', 'Timothy', 'Stuart',
'Kenneth', 'Raymond', 'Jamie',
'Nathan', 'Geoffrey', 'Connor', 'Terence',
'Trevor', 'Adrian', 'Harry',
'Malcolm', 'Scott', 'Callum', 'Wayne',
'Aaron', 'Barry', 'Ashley',
'Bradley', 'Patrick', 'Gareth', 'Jacob',
'Sean', 'Kieran', 'Derek',
'Carl', 'Dean', 'Charles', 'Sam',
'Shaun', 'Ben', 'Roger', 'Mohammed',
'Leslie', 'Ronald', 'Kyle', 'Clive',
'Edward', 'Antony', 'Jeremy',
'Justin', 'Jeffrey', 'Christian', 'Roy',
'Karl', 'Alex', 'Gordon',
'Dominic', 'Joe', 'Marc', 'Reece',
'Dennis', 'Russell', 'Gavin', 'Rhys',
'Phillip', 'Allan', 'Robin', 'Charlie',
'Gerald', 'Ross', 'Francis',
'Eric', 'Julian', 'Bernard', 'Dale',
'Donald', 'Damian', 'Frank',
'Shane', 'Cameron', 'Norman', 'Duncan',
'Louis', 'Frederick', 'Tony',
'Howard', 'Conor', 'Douglas', 'Garry',
'Elliot', 'Marcus', 'Arthur',
'Vincent', 'Max', 'Mathew', 'Abdul',
'Henry', 'Martyn', 'Ricky',
'Leonard', 'Lawrence', 'Glen',
'Mitchell', 'Gerard', 'Gregory', 'Iain',
'Billy', 'Bryan', 'Joel', 'Clifford',
'Josh', 'Leon', 'Stewart',
'Mohammad', 'Dylan', 'Graeme', 'Terry',
'Guy', 'Elliott', 'Stanley',
'Danny', 'Brandon', 'Victor', 'Toby',
'Hugh', 'Mohamed', 'Brett',
'Albert', 'Tom', 'Declan', 'Maurice',
'Glenn', 'Leigh', 'Denis',
'Damien', 'Bruce', 'Jay', 'Owen'),
first_names_female = c(
'Susan', 'Sarah', 'Rebecca', 'Linda',
'Julie', 'Claire', 'Laura',
'Lauren', 'Christine', 'Karen',
'Nicola', 'Gemma', 'Jessica',
'Margaret', 'Jacqueline', 'Emma',
'Charlotte', 'Janet', 'Deborah',
'Lisa', 'Hannah', 'Patricia',
'Tracey', 'Joanne', 'Sophie', 'Carol',
'Jane', 'Michelle', 'Victoria',
'Amy', 'Elizabeth', 'Helen', 'Samantha',
'Emily', 'Mary', 'Diane', 'Rachel',
'Anne', 'Sharon', 'Ann', 'Tracy',
'Amanda', 'Jennifer', 'Chloe',
'Angela', 'Louise', 'Katie', 'Lucy',
'Barbara', 'Alison', 'Sandra',
'Caroline', 'Clare', 'Kelly', 'Bethany',
'Gillian', 'Natalie', 'Jade', 'Pauline',
'Megan', 'Elaine', 'Alice',
'Lesley', 'Catherine', 'Hayley',
'Pamela', 'Danielle', 'Holly', 'Wendy',
'Abigail', 'Valerie', 'Olivia', 'Jean',
'Dawn', 'Donna', 'Stephanie',
'Leanne', 'Kathleen', 'Natasha',
'Denise', 'Sally', 'Katherine',
'Georgia', 'Maureen', 'Maria', 'Zoe',
'Judith', 'Kerry', 'Debra',
'Melanie', 'Stacey', 'Eleanor',
'Paula', 'Shannon', 'Sheila', 'Joanna',
'Paige', 'Janice', 'Lorraine', 'Georgina',
'Lynn', 'Andrea', 'Suzanne',
'Nicole', 'Yvonne', 'Chelsea',
'Lynne', 'Anna', 'Kirsty', 'Shirley',
'Alexandra', 'Marion', 'Beverley',
'Melissa', 'Rosemary', 'Kimberley',
'Carole', 'Fiona', 'Kate', 'Joan',
'Marie', 'Jenna', 'Marilyn', 'Jodie',
'June', 'Grace', 'Mandy', 'Rachael',
'Lynda', 'Tina', 'Kathryn',
'Molly', 'Jayne', 'Amber', 'Marian',
'Jasmine', 'Brenda', 'Sara',
'Kayleigh', 'Teresa', 'Harriet',
'Julia', 'Ashleigh', 'Heather', 'Kim',
'Ruth', 'Jemma', 'Carly', 'Leah',
'Eileen', 'Francesca', 'Naomi',
'Hilary', 'Abbie', 'Sylvia', 'Katy',
'Irene', 'Cheryl', 'Rosie',
'Dorothy', 'Aimee', 'Vanessa',
'Ellie', 'Frances', 'Sian', 'Josephine',
'Gail', 'Jill', 'Lydia', 'Joyce',
'Charlene', 'Hollie', 'Hazel',
'Annette', 'Bethan', 'Amelia',
'Beth', 'Rita', 'Geraldine', 'Diana',
'Lindsey', 'Carolyn'),
first_names = c(
'David', 'Paul', 'Christopher', 'Thomas',
'John', 'Mark', 'James',
'Stephen', 'Andrew', 'Jack', 'Michael',
'Daniel', 'Peter', 'Richard',
'Matthew', 'Robert', 'Ryan', 'Joshua',
'Alan', 'Ian', 'Simon', 'Luke',
'Samuel', 'Jordan', 'Anthony', 'Adam',
'Lee', 'Alexander', 'William',
'Kevin', 'Darren', 'Benjamin', 'Philip',
'Gary', 'Joseph', 'Brian',
'Steven', 'Liam', 'Keith', 'Martin',
'Jason', 'Jonathan', 'Jake',
'Graham', 'Nicholas', 'Craig', 'George',
'Colin', 'Neil', 'Lewis',
'Nigel', 'Oliver', 'Timothy', 'Stuart',
'Kenneth', 'Raymond', 'Jamie',
'Nathan', 'Geoffrey', 'Connor', 'Terence',
'Trevor', 'Adrian', 'Harry',
'Malcolm', 'Scott', 'Callum', 'Wayne',
'Aaron', 'Barry', 'Ashley',
'Bradley', 'Patrick', 'Gareth', 'Jacob',
'Sean', 'Kieran', 'Derek',
'Carl', 'Dean', 'Charles', 'Sam',
'Shaun', 'Ben', 'Roger', 'Mohammed',
'Leslie', 'Ronald', 'Kyle', 'Clive',
'Edward', 'Antony', 'Jeremy',
'Justin', 'Jeffrey', 'Christian', 'Roy',
'Karl', 'Alex', 'Gordon',
'Dominic', 'Joe', 'Marc', 'Reece',
'Dennis', 'Russell', 'Gavin', 'Rhys',
'Phillip', 'Allan', 'Robin', 'Charlie',
'Gerald', 'Ross', 'Francis',
'Eric', 'Julian', 'Bernard', 'Dale',
'Donald', 'Damian', 'Frank',
'Shane', 'Cameron', 'Norman', 'Duncan',
'Louis', 'Frederick', 'Tony',
'Howard', 'Conor', 'Douglas', 'Garry',
'Elliot', 'Marcus', 'Arthur',
'Vincent', 'Max', 'Mathew', 'Abdul',
'Henry', 'Martyn', 'Ricky',
'Leonard', 'Lawrence', 'Glen',
'Mitchell', 'Gerard', 'Gregory', 'Iain',
'Billy', 'Bryan', 'Joel', 'Clifford',
'Josh', 'Leon', 'Stewart',
'Mohammad', 'Dylan', 'Graeme', 'Terry',
'Guy', 'Elliott', 'Stanley',
'Danny', 'Brandon', 'Victor', 'Toby',
'Hugh', 'Mohamed', 'Brett',
'Albert', 'Tom', 'Declan', 'Maurice',
'Glenn', 'Leigh', 'Denis',
'Damien', 'Bruce', 'Jay', 'Owen',
'Susan', 'Sarah', 'Rebecca', 'Linda',
'Julie', 'Claire', 'Laura',
'Lauren', 'Christine', 'Karen',
'Nicola', 'Gemma', 'Jessica',
'Margaret', 'Jacqueline', 'Emma',
'Charlotte', 'Janet', 'Deborah',
'Lisa', 'Hannah', 'Patricia',
'Tracey', 'Joanne', 'Sophie', 'Carol',
'Jane', 'Michelle', 'Victoria',
'Amy', 'Elizabeth', 'Helen', 'Samantha',
'Emily', 'Mary', 'Diane', 'Rachel',
'Anne', 'Sharon', 'Ann', 'Tracy',
'Amanda', 'Jennifer', 'Chloe',
'Angela', 'Louise', 'Katie', 'Lucy',
'Barbara', 'Alison', 'Sandra',
'Caroline', 'Clare', 'Kelly', 'Bethany',
'Gillian', 'Natalie', 'Jade', 'Pauline',
'Megan', 'Elaine', 'Alice',
'Lesley', 'Catherine', 'Hayley',
'Pamela', 'Danielle', 'Holly', 'Wendy',
'Abigail', 'Valerie', 'Olivia', 'Jean',
'Dawn', 'Donna', 'Stephanie',
'Leanne', 'Kathleen', 'Natasha',
'Denise', 'Sally', 'Katherine',
'Georgia', 'Maureen', 'Maria', 'Zoe',
'Judith', 'Kerry', 'Debra',
'Melanie', 'Stacey', 'Eleanor',
'Paula', 'Shannon', 'Sheila', 'Joanna',
'Paige', 'Janice', 'Lorraine', 'Georgina',
'Lynn', 'Andrea', 'Suzanne',
'Nicole', 'Yvonne', 'Chelsea',
'Lynne', 'Anna', 'Kirsty', 'Shirley',
'Alexandra', 'Marion', 'Beverley',
'Melissa', 'Rosemary', 'Kimberley',
'Carole', 'Fiona', 'Kate', 'Joan',
'Marie', 'Jenna', 'Marilyn', 'Jodie',
'June', 'Grace', 'Mandy', 'Rachael',
'Lynda', 'Tina', 'Kathryn',
'Molly', 'Jayne', 'Amber', 'Marian',
'Jasmine', 'Brenda', 'Sara',
'Kayleigh', 'Teresa', 'Harriet',
'Julia', 'Ashleigh', 'Heather', 'Kim',
'Ruth', 'Jemma', 'Carly', 'Leah',
'Eileen', 'Francesca', 'Naomi',
'Hilary', 'Abbie', 'Sylvia', 'Katy',
'Irene', 'Cheryl', 'Rosie',
'Dorothy', 'Aimee', 'Vanessa',
'Ellie', 'Frances', 'Sian', 'Josephine',
'Gail', 'Jill', 'Lydia', 'Joyce',
'Charlene', 'Hollie', 'Hazel',
'Annette', 'Bethan', 'Amelia',
'Beth', 'Rita', 'Geraldine', 'Diana',
'Lindsey', 'Carolyn'),
last_names = list(
c("Savage", 0.04),
c("Winter", 0.03),
c("Metcalfe", 0.03),
c("Harper", 0.06),
c("Burgess", 0.06),
c("Bailey", 0.15),
c("Potts", 0.03),
c("Boyle", 0.03),
c("Brown", 0.51),
c("Jennings", 0.05),
c("Payne", 0.09),
c("Day", 0.09),
c("Holland", 0.07),
c("Higgins", 0.05),
c("Rhodes", 0.04),
c("Hancock", 0.04),
c("Howells", 0.03),
c("Fowler", 0.04),
c("Sims", 0.03),
c("Thomas", 0.35),
c("Parker", 0.17),
c("Bentley", 0.04),
c("Barnett", 0.05),
c("Manning", 0.03),
c("Collier", 0.03),
c("Holloway", 0.03),
c("Hartley", 0.04),
c("George", 0.05),
c("Tomlinson", 0.04),
c("Howard", 0.09),
c("Long", 0.06),
c("Farmer", 0.03),
c("Collins", 0.15),
c("Rice", 0.03),
c("Townsend", 0.04),
c("Rees", 0.07),
c("Bruce", 0.03),
c("Hammond", 0.05),
c("Ford", 0.09),
c("Tucker", 0.05),
c("Wallis", 0.03),
c("Hamilton", 0.06),
c("Ferguson", 0.04),
c("Hooper", 0.03),
c("Francis", 0.07),
c("Reeves", 0.04),
c("Barlow", 0.04),
c("Short", 0.04),
c("Cunningham", 0.05),
c("Hopkins", 0.06),
c("Nicholson", 0.06),
c("Archer", 0.04),
c("Green", 0.25),
c("Glover", 0.04),
c("Gibson", 0.09),
c("Spencer", 0.08),
c("Warner", 0.04),
c("Webb", 0.12),
c("Whitehouse", 0.03),
c("Dean", 0.06),
c("Griffiths", 0.16),
c("Clark", 0.2),
c("Hardy", 0.05),
c("Iqbal", 0.03),
c("Baldwin", 0.04),
c("O\'Neill", 0.06),
c("Blake", 0.05),
c("Lees", 0.03),
c("Harvey", 0.1),
c("Clarke", 0.24),
c("Daniels", 0.04),
c("Browne", 0.03),
c("Macdonald", 0.04),
c("Kirk", 0.04),
c("Khan", 0.14),
c("Davidson", 0.05),
c("Dale", 0.04),
c("Sanders", 0.04),
c("Wilkins", 0.04),
c("Connor", 0.03),
c("Daly", 0.03),
c("Lane", 0.06),
c("Kennedy", 0.06),
c("Bray", 0.03),
c("Burrows", 0.04),
c("Hayes", 0.07),
c("Wyatt", 0.03),
c("Gould", 0.03),
c("Dyer", 0.03),
c("Nash", 0.05),
c("Bryan", 0.03),
c("Pope", 0.03),
c("Fraser", 0.04),
c("Steele", 0.03),
c("Walsh", 0.09),
c("Wade", 0.04),
c("Marsden", 0.03),
c("Humphries", 0.03),
c("O\'Brien", 0.08),
c("Thompson", 0.28),
c("Lord", 0.03),
c("Coleman", 0.06),
c("Jarvis", 0.04),
c("Noble", 0.03),
c("Williamson", 0.06),
c("Carpenter", 0.03),
c("Gardner", 0.06),
c("Farrell", 0.04),
c("Clayton", 0.05),
c("Akhtar", 0.05),
c("Gallagher", 0.05),
c("Skinner", 0.04),
c("Birch", 0.04),
c("Kay", 0.04),
c("Barrett", 0.07),
c("Bates", 0.06),
c("Lucas", 0.04),
c("O\'Connor", 0.06),
c("Chamberlain", 0.03),
c("Chapman", 0.12),
c("Ryan", 0.08),
c("Thorpe", 0.04),
c("Lawson", 0.04),
c("Howell", 0.04),
c("Martin", 0.23),
c("Kelly", 0.16),
c("Dobson", 0.04),
c("Stevens", 0.1),
c("Brennan", 0.04),
c("Lloyd", 0.11),
c("Quinn", 0.05),
c("Morton", 0.04),
c("Wilson", 0.35),
c("Barnes", 0.11),
c("Henry", 0.03),
c("Smith", 1.15),
c("Pritchard", 0.05),
c("Phillips", 0.18),
c("Dixon", 0.1),
c("Sharpe", 0.03),
c("Robertson", 0.07),
c("White", 0.27),
c("Bird", 0.06),
c("Abbott", 0.04),
c("Kirby", 0.04),
c("Hussain", 0.11),
c("Barber", 0.05),
c("Harris", 0.25),
c("Doyle", 0.05),
c("Jordan", 0.05),
c("Burns", 0.06),
c("Hodgson", 0.06),
c("Atkins", 0.04),
c("Stokes", 0.05),
c("Rogers", 0.12),
c("Parkes", 0.03),
c("Brookes", 0.04),
c("Herbert", 0.03),
c("Gordon", 0.05),
c("Kemp", 0.05),
c("Webster", 0.07),
c("Sinclair", 0.03),
c("McLean", 0.03),
c("Saunders", 0.09),
c("Stephens", 0.05),
c("Newton", 0.07),
c("Potter", 0.05),
c("Storey", 0.03),
c("Stanley", 0.04),
c("Turnbull", 0.03),
c("Duncan", 0.03),
c("Rose", 0.08),
c("Mills", 0.11),
c("Sheppard", 0.03),
c("Butcher", 0.03),
c("Fry", 0.03),
c("Ross", 0.06),
c("Shepherd", 0.06),
c("Goodwin", 0.05),
c("Holt", 0.05),
c("Haynes", 0.04),
c("Cook", 0.15),
c("Ward", 0.21),
c("Godfrey", 0.03),
c("Stone", 0.07),
c("Dodd", 0.04),
c("Parsons", 0.07),
c("Ingram", 0.03),
c("Nixon", 0.03),
c("Evans", 0.39),
c("Hargreaves", 0.03),
c("Owen", 0.11),
c("Chan", 0.03),
c("Connolly", 0.03),
c("Charlton", 0.03),
c("Middleton", 0.04),
c("Hyde", 0.03),
c("Patel", 0.24),
c("Owens", 0.03),
c("Lamb", 0.04),
c("Palmer", 0.11),
c("Cooper", 0.22),
c("McCarthy", 0.06),
c("Black", 0.04),
c("Dickinson", 0.04),
c("Gilbert", 0.05),
c("Leach", 0.03),
c("North", 0.03),
c("Byrne", 0.06),
c("Frost", 0.05),
c("Simmons", 0.04),
c("Matthews", 0.11),
c("Alexander", 0.04),
c("Ahmed", 0.1),
c("Gibbons", 0.03),
c("Stevenson", 0.05),
c("Rowley", 0.03),
c("Miles", 0.05),
c("Hanson", 0.03),
c("Bolton", 0.03),
c("Craig", 0.03),
c("Ali", 0.12),
c("Carroll", 0.04),
c("Allan", 0.03),
c("Sanderson", 0.03),
c("Fletcher", 0.1),
c("Burton", 0.08),
c("Oliver", 0.07),
c("Davison", 0.04),
c("Douglas", 0.04),
c("Field", 0.04),
c("Pickering", 0.03),
c("Pugh", 0.04),
c("Rowe", 0.05),
c("Mahmood", 0.03),
c("Sykes", 0.03),
c("Crawford", 0.03),
c("Williams", 0.66),
c("Parkin", 0.03),
c("Patterson", 0.04),
c("Power", 0.03),
c("Price", 0.17),
c("Murphy", 0.14),
c("Hale", 0.03),
c("Nicholls", 0.06),
c("Hall", 0.25),
c("Jones", 0.94),
c("Hughes", 0.26),
c("Stephenson", 0.05),
c("Morley", 0.04),
c("Knight", 0.11),
c("Kerr", 0.03),
c("Heath", 0.04),
c("Pollard", 0.03),
c("Lowe", 0.07),
c("O\'Sullivan", 0.04),
c("Buckley", 0.05),
c("Bond", 0.05),
c("Dennis", 0.03),
c("Lewis", 0.25),
c("Weston", 0.04),
c("Joyce", 0.03),
c("Reynolds", 0.09),
c("Bishop", 0.06),
c("Norris", 0.04),
c("Barry", 0.03),
c("Whittaker", 0.04),
c("Carey", 0.03),
c("Hill", 0.22),
c("Kent", 0.04),
c("Ashton", 0.04),
c("Wilkinson", 0.13),
c("Powell", 0.12),
c("Henderson", 0.06),
c("Freeman", 0.06),
c("Dunn", 0.07),
c("Kaur", 0.09),
c("French", 0.04),
c("Parry", 0.06),
c("Walton", 0.06),
c("Fisher", 0.1),
c("Naylor", 0.03),
c("Duffy", 0.04),
c("Humphreys", 0.04),
c("Randall", 0.03),
c("Bevan", 0.03),
c("Doherty", 0.03),
c("Moore", 0.21),
c("Armstrong", 0.07),
c("Sullivan", 0.05),
c("Swift", 0.03),
c("Pearce", 0.09),
c("Tyler", 0.03),
c("Bradshaw", 0.04),
c("Allen", 0.19),
c("Mellor", 0.03),
c("Whitehead", 0.05),
c("Jackson", 0.24),
c("Grant", 0.07),
c("Fox", 0.09),
c("Wright", 0.28),
c("Anderson", 0.13),
c("Foster", 0.13),
c("Gibbs", 0.04),
c("Butler", 0.11),
c("Jenkins", 0.1),
c("John", 0.04),
c("Morrison", 0.04),
c("Talbot", 0.03),
c("Blackburn", 0.03),
c("Osborne", 0.05),
c("Flynn", 0.04),
c("Richards", 0.14),
c("Hurst", 0.03),
c("Bibi", 0.05),
c("Houghton", 0.03),
c("Johnson", 0.34),
c("Yates", 0.06),
c("Mistry", 0.03),
c("Donnelly", 0.03),
c("Parkinson", 0.04),
c("Thomson", 0.05),
c("Woods", 0.07),
c("Todd", 0.04),
c("Dawson", 0.08),
c("Hart", 0.07),
c("Graham", 0.1),
c("Berry", 0.07),
c("Willis", 0.05),
c("Miah", 0.04),
c("Brooks", 0.09),
c("Horton", 0.03),
c("Riley", 0.07),
c("Lambert", 0.05),
c("Waters", 0.04),
c("Lynch", 0.05),
c("Moss", 0.06),
c("Slater", 0.05),
c("Knowles", 0.04),
c("Benson", 0.03),
c("Adams", 0.13),
c("King", 0.2),
c("Davies", 0.48),
c("Richardson", 0.15),
c("Vincent", 0.03),
c("Holmes", 0.11),
c("Conway", 0.03),
c("Marshall", 0.14),
c("Faulkner", 0.03),
c("Garner", 0.03),
c("Booth", 0.08),
c("Harrison", 0.2),
c("Campbell", 0.11),
c("Cole", 0.08),
c("Goddard", 0.04),
c("Walters", 0.05),
c("Ellis", 0.13),
c("Edwards", 0.27),
c("Peters", 0.04),
c("Atkinson", 0.08),
c("Wood", 0.24),
c("Briggs", 0.04),
c("Elliott", 0.09),
c("Chandler", 0.03),
c("Hope", 0.03),
c("Hunter", 0.07),
c("Newman", 0.07),
c("Pratt", 0.03),
c("Rahman", 0.03),
c("Hicks", 0.04),
c("Cox", 0.14),
c("Reid", 0.07),
c("Morris", 0.21),
c("Banks", 0.04),
c("Myers", 0.03),
c("Mitchell", 0.16),
c("Davey", 0.04),
c("Peacock", 0.03),
c("Reed", 0.07),
c("Carter", 0.15),
c("Miller", 0.14),
c("Perkins", 0.04),
c("Read", 0.05),
c("Hilton", 0.03),
c("Moran", 0.03),
c("Welch", 0.03),
c("Vaughan", 0.04),
c("Clements", 0.03),
c("Griffin", 0.05),
c("Russell", 0.1),
c("O\'Donnell", 0.03),
c("Hobbs", 0.03),
c("Marsh", 0.07),
c("Porter", 0.07),
c("Gill", 0.08),
c("Leonard", 0.03),
c("McKenzie", 0.03),
c("Thornton", 0.04),
c("Fitzgerald", 0.03),
c("Greenwood", 0.05),
c("Pearson", 0.1),
c("James", 0.19),
c("Coles", 0.03),
c("Roberts", 0.33),
c("Nelson", 0.05),
c("Forster", 0.03),
c("Gough", 0.03),
c("Mann", 0.05),
c("Law", 0.03),
c("Barker", 0.1),
c("Cartwright", 0.04),
c("Bradley", 0.08),
c("Sharp", 0.05),
c("Warren", 0.06),
c("Summers", 0.03),
c("Little", 0.04),
c("Perry", 0.08),
c("Fuller", 0.04),
c("West", 0.09),
c("Mason", 0.12),
c("Finch", 0.03),
c("Norton", 0.03),
c("Burke", 0.05),
c("Holden", 0.04),
c("Lee", 0.2),
c("Smart", 0.04),
c("Bull", 0.04),
c("Bryant", 0.04),
c("Gray", 0.12),
c("Watts", 0.08),
c("Brady", 0.03),
c("Baker", 0.2),
c("Barton", 0.05),
c("Davis", 0.17),
c("Baxter", 0.05),
c("Taylor", 0.53),
c("Carr", 0.07),
c("Wong", 0.04),
c("Cameron", 0.03),
c("Gardiner", 0.03),
c("Hawkins", 0.07),
c("Shaw", 0.15),
c("Wallace", 0.05),
c("Young", 0.16),
c("Shah", 0.06),
c("Gregory", 0.07),
c("Ball", 0.08),
c("Norman", 0.04),
c("Lawrence", 0.09),
c("Bowen", 0.04),
c("Wheeler", 0.05),
c("Bartlett", 0.04),
c("Sutton", 0.06),
c("Lyons", 0.03),
c("Hutchinson", 0.05),
c("Poole", 0.05),
c("Cooke", 0.06),
c("Franklin", 0.03),
c("Howe", 0.04),
c("Walker", 0.27),
c("Johnston", 0.05),
c("Austin", 0.05),
c("Chadwick", 0.03),
c("Bell", 0.15),
c("Wall", 0.04),
c("Woodward", 0.05),
c("Preston", 0.04),
c("Bennett", 0.16),
c("Murray", 0.1),
c("Begum", 0.13),
c("McDonald", 0.06),
c("Hudson", 0.07),
c("Cross", 0.06),
c("Singh", 0.13),
c("Howarth", 0.03),
c("Hewitt", 0.05),
c("Curtis", 0.06),
c("Harding", 0.07),
c("May", 0.05),
c("Wells", 0.07),
c("Giles", 0.03),
c("Watson", 0.17),
c("Nolan", 0.03),
c("Andrews", 0.09),
c("Hayward", 0.04),
c("Schofield", 0.04),
c("Hunt", 0.12),
c("Robson", 0.06),
c("Arnold", 0.05),
c("Morgan", 0.19),
c("Coates", 0.03),
c("Page", 0.07),
c("Simpson", 0.13),
c("Stewart", 0.09),
c("Robinson", 0.29),
c("Fleming", 0.03),
c("Scott", 0.18),
c("Chambers", 0.06),
c("Turner", 0.23),
c("Watkins", 0.06))
)
)
## address ----------------------
address_en_GB = R6Class(
"address_en_GB",
inherit = address_en,
cloneable = FALSE,
private = list(
city_prefixes = c(
'North', 'East', 'West', 'South', 'New', 'Lake', 'Port'),
city_suffixes = c(
'town',
'ton',
'land',
'ville',
'berg',
'burgh',
'borough',
'bury',
'view',
'port',
'mouth',
'stad',
'furt',
'chester',
'mouth',
'fort',
'haven',
'side',
'shire'),
building_number_formats = c('#', '##', '###'),
street_suffixes = c(
'alley',
'avenue',
'branch',
'bridge',
'brook',
'brooks',
'burg',
'burgs',
'bypass',
'camp',
'canyon',
'cape',
'causeway',
'center',
'centers',
'circle',
'circles',
'cliff',
'cliffs',
'club',
'common',
'corner',
'corners',
'course',
'court',
'courts',
'cove',
'coves',
'creek',
'crescent',
'crest',
'crossing',
'crossroad',
'curve',
'dale',
'dam',
'divide',
'drive',
'drive',
'drives',
'estate',
'estates',
'expressway',
'extension',
'extensions',
'fall',
'falls',
'ferry',
'field',
'fields',
'flat',
'flats',
'ford',
'fords',
'forest',
'forge',
'forges',
'fork',
'forks',
'fort',
'freeway',
'garden',
'gardens',
'gateway',
'glen',
'glens',
'green',
'greens',
'grove',
'groves',
'harbor',
'harbors',
'haven',
'heights',
'highway',
'hill',
'hills',
'hollow',
'inlet',
'inlet',
'island',
'island',
'islands',
'islands',
'isle',
'isle',
'junction',
'junctions',
'key',
'keys',
'knoll',
'knolls',
'lake',
'lakes',
'land',
'landing',
'lane',
'light',
'lights',
'loaf',
'lock',
'locks',
'locks',
'lodge',
'lodge',
'loop',
'mall',
'manor',
'manors',
'meadow',
'meadows',
'mews',
'mill',
'mills',
'mission',
'mission',
'motorway',
'mount',
'mountain',
'mountain',
'mountains',
'mountains',
'neck',
'orchard',
'oval',
'overpass',
'park',
'parks',
'parkway',
'parkways',
'pass',
'passage',
'path',
'pike',
'pine',
'pines',
'place',
'plain',
'plains',
'plains',
'plaza',
'plaza',
'point',
'points',
'port',
'port',
'ports',
'ports',
'prairie',
'prairie',
'radial',
'ramp',
'ranch',
'rapid',
'rapids',
'rest',
'ridge',
'ridges',
'river',
'road',
'road',
'roads',
'roads',
'route',
'row',
'rue',
'run',
'shoal',
'shoals',
'shore',
'shores',
'skyway',
'spring',
'springs',
'springs',
'spur',
'spurs',
'square',
'square',
'squares',
'squares',
'station',
'station',
'stravenue',
'stravenue',
'stream',
'stream',
'street',
'street',
'streets',
'summit',
'summit',
'terrace',
'throughway',
'trace',
'track',
'trafficway',
'trail',
'trail',
'tunnel',
'tunnel',
'turnpike',
'turnpike',
'underpass',
'union',
'unions',
'valley',
'valleys',
'via',
'viaduct',
'view',
'views',
'village',
'village',
'villages',
'ville',
'vista',
'vista',
'walk',
'walks',
'wall',
'way',
'ways',
'well',
'wells'),
postcode_formats = c(
'AN NEE',
'ANN NEE',
'PN NEE',
'PNN NEE',
'ANC NEE',
'PND NEE'),
postcode_sets = list(
' ' = ' ',
'N' = as.character(seq(0, 9)),
'A' = c("B", "E", "G", "L", "M", "N", "S", "W"),
'B' = strsplit('ABCDEFGHKLMNOPQRSTUVWXY', split = "")[[1]],
'C' = strsplit('ABCDEFGHJKSTUW', split = "")[[1]],
'D' = strsplit('ABEHMNPRVWXY', split = "")[[1]],
'E' = strsplit('ABDEFGHJLNPQRSTUWXYZ', split = "")[[1]],
'P' = c(
'AB', 'AL', 'BA', 'BB', 'BD', 'BH', 'BL', 'BN', 'BR',
'BS', 'BT', 'CA', 'CB', 'CF', 'CH', 'CM', 'CO', 'CR', 'CT',
'CV', 'CW', 'DA', 'DD', 'DE', 'DG', 'DH', 'DL', 'DN', 'DT',
'DY', 'EC', 'EH', 'EN', 'EX', 'FK', 'FY', 'GL',
'GY', 'GU', 'HA', 'HD', 'HG', 'HP', 'HR', 'HS', 'HU', 'HX',
'IG', 'IM', 'IP', 'IV', 'JE', 'KA', 'KT', 'KW', 'KY',
'LA', 'LD', 'LE', 'LL', 'LN', 'LS', 'LU', 'ME', 'MK',
'ML', 'NE', 'NG', 'NN', 'NP', 'NR', 'NW', 'OL', 'OX',
'PA', 'PE', 'PH', 'PL', 'PO', 'PR', 'RG', 'RH', 'RM',
'SA', 'SE', 'SG', 'SK', 'SL', 'SM', 'SN', 'SO', 'SP', 'SR',
'SS', 'ST', 'SW', 'SY', 'TA', 'TD', 'TF', 'TN', 'TQ', 'TR',
'TS', 'TW', 'UB', 'WA', 'WC', 'WD', 'WF', 'WN', 'WR',
'WS', 'WV', 'YO', 'ZE')),
city_formats = c(
'{city_prefix} {first_name}{city_suffix}',
'{city_prefix} {first_name}',
'{first_name}{city_suffix}',
'{last_name}{city_suffix}'),
street_name_formats = c(
'{first_name} {street_suffix}',
'{last_name} {street_suffix}'),
first_names = (person_en_GB$new())$.__enclos_env__$private$first_names,
first_name = (person_en_GB$new())$first_name,
last_names = (person_en_GB$new())$.__enclos_env__$private$last_names,
last_name = (person_en_GB$new())$last_name,
street_address_formats = c(
'{building_number} {street_name}',
'{secondary_address}\n{street_name}'),
address_formats = "{street_address}\n{city}\n{postcode}",
secondary_address_formats = c(
'Flat #', 'Flat ##', 'Flat ##?', 'Studio #', 'Studio ##', 'Studio ##?')
),
public = list(
postcode = function() {
postcode = ""
patterns = private$random_element(private$postcode_formats)
patterns = strsplit(patterns, split = "")[[1]]
for (i in patterns) {
postcode_element = private$random_element(private$postcode_sets[[i]])
postcode = str_c(postcode, postcode_element)
}
return(postcode)
},
city_prefix = function() {
return(private$random_element(private$city_prefixes))
},
secondary_address = function() {
temp = private$random_element(private$secondary_address_formats)
return(private$bothify(temp))
}
)
)
## phone_number --------------------------
phone_number_en_GB = R6Class(
"phone_number_en_GB",
inherit = phone_number_init,
cloneable = FALSE,
private = list(
# Source:
# https://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom
# Fake phone numbers should be fake - this provider has been rewritten to
# use numbers reserved for dramatic use by Ofcom. See the following:
# https://en.wikipedia.org/wiki/Fictitious_telephone_number#United_Kingdom
# This ensures no genuine numbers are generated at random.
#
# It's worth noting that the following examples include incorrect notation
# of British phone numbers. +44(0)xxx is incorrect and the '(0)' should
# be omitted. However, it's commonly written this way by Joe Public
# and would better serve this project to be included, as it represents
# more realistic data and is of benefit to those developing data cleansing
# tools etc. All possible official fake numbers are covered below.
cellphone_formats = c(
'07700 900 ###',
'07700 900###',
'07700900###',
'(07700) 900 ###',
'(07700) 900###',
'(07700)900###',
'+447700 900 ###',
'+447700 900###',
'+447700900###',
'+44(0)7700 900 ###',
'+44(0)7700 900###',
'+44(0)7700900###'
),
formats = c(
'0113 496 0###',
'0113 4960###',
'01134960###',
'(0113) 496 0###',
'(0113) 4960###',
'(0113)4960###',
'+44113 496 0###',
'+44113 4960###',
'+441134960###',
'+44(0)113 496 0###',
'+44(0)113 4960###',
'+44(0)1134960###',
'0114 496 0###',
'0114 4960###',
'01144960###',
'(0114) 496 0###',
'(0114) 4960###',
'(0114)4960###',
'+44114 496 0###',
'+44114 4960###',
'+441144960###',
'+44(0)114 496 0###',
'+44(0)114 4960###',
'+44(0)1144960###',
'0115 496 0###',
'0115 4960###',
'01154960###',
'(0115) 496 0###',
'(0115) 4960###',
'(0115)4960###',
'+44115 496 0###',
'+44115 4960###',
'+441154960###',
'+44(0)115 496 0###',
'+44(0)115 4960###',
'+44(0)1154960###',
'0116 496 0###',
'0116 4960###',
'01164960###',
'(0116) 496 0###',
'(0116) 4960###',
'(0116)4960###',
'+44116 496 0###',
'+44116 4960###',
'+441164960###',
'+44(0)116 496 0###',
'+44(0)116 4960###',
'+44(0)1164960###',
'0117 496 0###',
'0117 4960###',
'01174960###',
'(0117) 496 0###',
'(0117) 4960###',
'(0117)4960###',
'+44117 496 0###',
'+44117 4960###',
'+441174960###',
'+44(0)117 496 0###',
'+44(0)117 4960###',
'+44(0)1174960###',
'0118 496 0###',
'0118 4960###',
'01184960###',
'(0118) 496 0###',
'(0118) 4960###',
'(0118)4960###',
'+44118 496 0###',
'+44118 4960###',
'+441184960###',
'+44(0)118 496 0###',
'+44(0)118 4960###',
'+44(0)1184960###',
'0121 496 0###',
'0121 4960###',
'01214960###',
'(0121) 496 0###',
'(0121) 4960###',
'(0121)4960###',
'+44121 496 0###',
'+44121 4960###',
'+441214960###',
'+44(0)121 496 0###',
'+44(0)121 4960###',
'+44(0)1214960###',
'0131 496 0###',
'0131 4960###',
'01314960###',
'(0131) 496 0###',
'(0131) 4960###',
'(0131)4960###',
'+44131 496 0###',
'+44131 4960###',
'+441314960###',
'+44(0)131 496 0###',
'+44(0)131 4960###',
'+44(0)1314960###',
'0141 496 0###',
'0141 4960###',
'01414960###',
'(0141) 496 0###',
'(0141) 4960###',
'(0141)4960###',
'+44141 496 0###',
'+44141 4960###',
'+441414960###',
'+44(0)141 496 0###',
'+44(0)141 4960###',
'+44(0)1414960###',
'0151 496 0###',
'0151 4960###',
'01514960###',
'(0151) 496 0###',
'(0151) 4960###',
'(0151)4960###',
'+44151 496 0###',
'+44151 4960###',
'+441514960###',
'+44(0)151 496 0###',
'+44(0)151 4960###',
'+44(0)1514960###',
'0161 496 0###',
'0161 4960###',
'01614960###',
'(0161) 496 0###',
'(0161) 4960###',
'(0161)4960###',
'+44161 496 0###',
'+44161 4960###',
'+441614960###',
'+44(0)161 496 0###',
'+44(0)161 4960###',
'+44(0)1614960###',
'0191 498 0###',
'0191 4960###',
'01914960###',
'(0191) 496 0###',
'(0191) 4960###',
'(0191)4960###',
'+44191 496 0###',
'+44191 4960###',
'+441914960###',
'+44(0)191 496 0###',
'+44(0)191 4960###',
'+44(0)1914960###',
'020 7946 0###',
'020 74960###',
'02074960###',
'(020) 7496 0###',
'(020) 74960###',
'(020)74960###',
'+4420 7496 0###',
'+4420 74960###',
'+442074960###',
'+44(0)20 7496 0###',
'+44(0)20 74960###',
'+44(0)2074960###',
'028 9018 0###',
'028 9018###',
'0289018###',
'(028) 9018 0###',
'(028) 9018###',
'(028)9018###',
'+4428 9018 0###',
'+4428 9018###',
'+44289018###',
'+44(0)28 9018 0###',
'+44(0)28 9018###',
'+44(0)289018###',
'029 2018 0###',
'029 2018###',
'0292018###',
'(029) 2018 0###',
'(029) 2018###',
'(029)2018###',
'+4429 2018 0###',
'+4429 2018###',
'+44292018###',
'+44(0)29 2018 0###',
'+44(0)29 2018###',
'+44(0)292018###',
'01632 960 ###',
'01632 960###',
'01632960###',
'(01632) 960 ###',
'(01632) 960###',
'(01632)960###',
'+441632 960 ###',
'+441632 960###',
'+441632960###',
'+44(0)1632 960 ###',
'+44(0)1632 960###',
'+44(0)1632960###',
'0306 999 0###',
'0306 9990###',
'03069990###',
'(0306) 999 0###',
'(0306) 9990###',
'(0306)9990###',
'+44306 999 0###',
'+44306 9990###',
'+443069990###',
'+44(0)306 999 0###',
'+44(0)306 9990###',
'+44(0)3069990###',
'0808 157 0###',
'0808 1570###',
'08081570###',
'(0808) 157 0###',
'(0808) 1570###',
'(0808)1570###',
'+44808 157 0###',
'+44808 1570###',
'+448081570###',
'+44(0)808 157 0###',
'+44(0)808 1570###',
'+44(0)8081570###',
'0909 879 0###',
'0909 8790###',
'09098790###',
'(0909) 879 0###',
'(0909) 8790###',
'(0909)8790###',
'+44909 879 0###',
'+44909 8790###',
'+449098790###',
'+44(0)909 879 0###',
'+44(0)909 8790###',
'+44(0)9098790###'
)
),
public = list(
cellphone_number = function() {
pattern = private$random_element(private$cellphone_formats)
return(private$numerify(private$format_parse(pattern)))
}
)
)
## ssn --------------------
ssn_en_GB = R6Class(
"ssn_en_GB",
inherit = ssn_init,
cloneable = FALSE,
private = list(
# Source:
# https://en.wikipedia.org/wiki/National_Insurance_number
# UK National Insurance numbers (NINO) follow a specific format
# To avoid generating real NINOs, the prefix and suffix letters
# remain static using values reserved by HMRC (never to be used).
# Example format: "QR 12 34 56 C" or "QR123456C" - only alphanumeric
# and whitespace characters are permitted. Whitespace is for readability
# only and is generally included as per the above examples, but a
# few 'styles' have been included below for the sake of realism.
nino_formats = c(
'ZZ ## ## ## T',
'ZZ######T',
'ZZ ###### T'
),
vat_id_formats = c(
'GB### #### ##',
'GB### #### ## ###',
'GBGD###',
'GBHA###'
)
),
public = list(
ssn = function() {
pattern = private$random_element(private$nino_formats)
return(private$numerify(pattern))
},
vat_id = function() {
pattern = private$random_element(private$vat_id_formats)
return(private$bothify(pattern))
}
)
)
## company -----------------
company_en_GB = R6Class(
"company_en_GB",
inherit = company_en_US,
cloneable = FALSE,
private = list(
last_names = (person_en_GB$new())$.__enclos_env__$private$last_names,
last_name = (person_en_GB$new())$last_name
)
)
## credit_card -----------------
credit_card_en_GB = R6Class(
"credit_card_en_GB",
inherit = credit_card_init,
cloneable = FALSE,
private = list(
first_names = (person_en_GB$new())$.__enclos_env__$private$first_names,
first_name = (person_en_GB$new())$first_name,
last_names = (person_en_GB$new())$.__enclos_env__$private$last_names,
last_name = (person_en_GB$new())$last_name
)
)
## internet -----------------
internet_en_GB = R6Class(
"internet_en_GB",
inherit = internet_en_US,
cloneable = FALSE,
private = list(
first_names = (person_en_GB$new())$.__enclos_env__$private$first_names,
last_names = (person_en_GB$new())$.__enclos_env__$private$last_names,
first_name = (person_en_GB$new())$first_name,
last_name = (person_en_GB$new())$last_name
),
public = list(
domain_word = function() {
company = (company_en_GB$new())$company()
company_elements = str_split(company, " ")[[1]]
company = private$to_ascii(company_elements[1])
return(private$slugify(company, allow_unicode = TRUE))
}
)
)
## profile ------------------
profile_en_GB = R6Class(
"profile_en_GB",
inherit = profile_init,
cloneable = FALSE,
public = list(
simple_profile = function(sex) {
# Generates a basic profile with personal informations
SEX = c("F", "M")
if (missing(sex)) {
sex = sample(SEX, 1)
}
if (!(sex %in% SEX)) {
sex = sample(SEX, 1)
}
name = ifelse(sex == "F",
(person_en_GB$new())$name_female(),
(person_en_GB$new())$name_male())
temp = list(
"username" = (internet_en_GB$new())$user_name(),
"name" = name,
"sex" = sex,
"address" = (address_en_GB$new())$address(),
"mail" = (internet_en_GB$new())$free_email(),
"birthdate" = (date_time_init$new())$date_of_birth()
)
return(temp)
},
profile = function(fields, sex) {
# Generates a complete profile.
# If "fields" is not empty, only the fields in the list will be returned
if (missing(fields)) fields = c()
field = list(
"job" = (job_init$new())$job(),
"company" = (company_en_GB$new())$company(),
"ssn" = (ssn_en_GB$new())$ssn(),
"residence" = (address_en_GB$new())$address(),
"current_location" = c((geo_init$new())$latitude(),
(geo_init$new())$longitude()),
"blood_group" = sample(c(
"A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"), 1),
"website" = replicate(sample(seq(4), 1), (internet_en_GB$new())$url())
)
field = append(field, self$simple_profile(sex))
# field selection
if (length(fields)) {
nms = intersect(names(field), fields)
field = field[nms]
}
return(field)
}
)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.