What is the practical use of the identity function in R?
One use that appears on a simple code base search is as a convenience for the most basic type of error handling function in tryCatch
.
tryCatch(...,error = identity)
which is identical (ha!) to
tryCatch(...,error = function(e) e)
So this handler would catch an error message and then simply return it.
Don't know about R, but in a functional language one often passes functions as arguments to other functions. In such cases, the constant function (which returns the same value for any argument) and the identity function play a similar role as 0 and 1 in multiplication, so to speak.
I use it from time to time with the apply function of commands.
For instance, you could write t()
as:
dat <- data.frame(x=runif(10),y=runif(10))
apply(dat,1,identity)
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
x 0.1048485 0.7213284 0.9033974 0.4699182 0.4416660 0.1052732 0.06000952
y 0.7225307 0.2683224 0.7292261 0.5131646 0.4514837 0.3788556 0.46668331
[,8] [,9] [,10]
x 0.2457748 0.3833299 0.86113771
y 0.9643703 0.3890342 0.01700427