rpin {hetu} | R Documentation |
Generate Random Personal Identity Codes
Description
A function that generates random Finnish personal identity codes
(hetu
codes).
Usage
rpin(
n,
start.date = as.Date("1895-01-01"),
end.date = Sys.Date(),
p.male = 0.4,
p.temp = 0,
num.cores = 1
)
rhetu(
n,
start.date = as.Date("1895-01-01"),
end.date = Sys.Date(),
p.male = 0.4,
p.temp = 0,
num.cores = 1
)
Arguments
n |
number of generated |
start.date |
Lower limit of generated |
end.date |
Upper limit of generated |
p.male |
Probability of males, between 0.0 and 1.0. Default is 0.4. |
p.temp |
Probability of temporary identification numbers, between 0.0 and 1.0. Default is 0.0. |
num.cores |
The number of cores for parallel processing. The number
of available cores can be determined with |
Details
There is a finite number of valid personal identity codes available per day. More specifically, there are 498 odd personal numbers for males and 498 even personal numbers for females from range 002-899. Additionally there are 50 odd numbers for males and 50 even numbers for females in the temporary personal identity code number range 900-999 that is not normally in use. This function will return an error "too few positive probabilities" in sample.int function if you try to generate too many codes in a short enough timeframe.
The theoretical upper limit of valid PINs is in the millions since there are 898 PINs available for each day, 327770 for each year. In practice this number is much lower since same personal number component cannot be "recycled" if it has been used in the past. To illustrate, if an identity code "010101-0101" has already been assigned to someone born in 1901-01-01, a similar code "010101A0101" for someone born in 2001-01-01 could not be used.
Value
a vector of generated hetu
-pins.
Author(s)
Pyry Kantanen, Jussi Paananen
Examples
x <- rpin(3)
hetu(x)
hetu(x, extract = "sex")
hetu(x, extract = "ctrl.char")
x <- rhetu(3)
x