list.arg函数用于list参数

时间:2012-12-28 03:44:28

标签: r arguments match

我的问题很简单。

x=list(type="call")

FUN <- function(x=list(type=c("call","put")))
{
  x$type=match.arg(x$type)
}

这会返回错误:

> FUN(x)
Error in match.arg(x$type) : 'arg' should be one of “”

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

也许这就是你想要的:

FUN <- function(x=list(type=c("call","put")))
{
  x$type=match.arg(x$type, c('call', 'put'))
}


> print(FUN())
[1] "call"
> print(FUN(x))
[1] "call"
> print(FUN(list(type="put")))
[1] "put"