Я знаю, что для списка частичное совпадение выполняется при индексировании с использованием основных операторов $
и [[
. Например:
ll <- list(yy=1)
ll$y
[1] 1
Но я все еще новичок R, и это ново для меня, частичное совпадение аргументов функции:
h <- function(xx=2)xx
h(x=2)
[1] 2
Я хочу понять, как это работает. Каков механизм этого? Имеет ли это какие-либо побочные эффекты? Я хочу понять, как кто-то может проверить, был ли аргумент xx указан?
Редактировать после комментария Andrie:
Internally R использует pmatch
алгоритм для сопоставления аргумента, вот пример того, как это работает:
pmatch("me", c("mean", "median", "mode")) # error multiple partial matches
[1] NA
> pmatch("mo", c("mean", "median", "mode")) # mo match mode match here
[1] 3
Но почему R имеет такую особенность? Какова основная идея соответствия partial unique
?