函数说缺少参数,但我已经把它放在函数中了,为什么它说缺少参数?
Function says the argument is missing but I've put it in the function, why does it say it's missing?
这可能是一个非常简单的问题,我遗漏了一些东西,但我有一个函数:
交通<-功能(灯光、汽车、道路、事故)
在这个函数中,我只使用了 cars 参数,没有使用灯光、道路和事故,但仍然需要作为我稍后将执行的代码的其他部分的参数。
当我尝试 运行 我的函数时,它说缺少 'cars' 没有默认值,但它就在那里。该函数在 cars 是第一个参数时有效,但我需要按照我给定的顺序输入参数。
有没有办法阻止它在参数存在时说缺少参数?
谢谢
您没有为 cars
(或其他参数)提供默认值,因此您需要在调用该函数时提供值。如果它们未在您的函数的当前版本中使用,则您提供的值可以是任何值:NA
、list()
和 NULL
是显而易见的选项。
x <- Traffic(NA, myCars, NA, NA)
或者,您可以在函数定义中提供默认值,例如
Traffic <- function(lights=NA, cars, roads=NA, accidents=NA)
然后用
调用它
x <- Traffic(cars=myCars)
如果你只是用
调用你的函数
x <- Traffic(myCars)
然后对象 myCars
与 lights
参数关联,而不是 cars
。
这可能是一个非常简单的问题,我遗漏了一些东西,但我有一个函数:
交通<-功能(灯光、汽车、道路、事故)
在这个函数中,我只使用了 cars 参数,没有使用灯光、道路和事故,但仍然需要作为我稍后将执行的代码的其他部分的参数。 当我尝试 运行 我的函数时,它说缺少 'cars' 没有默认值,但它就在那里。该函数在 cars 是第一个参数时有效,但我需要按照我给定的顺序输入参数。
有没有办法阻止它在参数存在时说缺少参数?
谢谢
您没有为 cars
(或其他参数)提供默认值,因此您需要在调用该函数时提供值。如果它们未在您的函数的当前版本中使用,则您提供的值可以是任何值:NA
、list()
和 NULL
是显而易见的选项。
x <- Traffic(NA, myCars, NA, NA)
或者,您可以在函数定义中提供默认值,例如
Traffic <- function(lights=NA, cars, roads=NA, accidents=NA)
然后用
调用它x <- Traffic(cars=myCars)
如果你只是用
调用你的函数x <- Traffic(myCars)
然后对象 myCars
与 lights
参数关联,而不是 cars
。