r - 函数说参数丢失,但我已经把它放在函数中,为什么它说它丢失了?
问题描述
这可能是一个非常简单的问题,我遗漏了一些东西,但我有一个功能:
交通<-功能(灯光、汽车、道路、事故)
在这个函数中,我只使用了 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
.
推荐阅读
- python-3.x - 如何根据另一个 csv 文件替换文件 csv 的值?
- r - eval(family$initialize) 中的错误:y 值必须为 0 <= y <= 1
- javascript - 如何将“this”对象放入回调函数?
- r - 计算列表中元素的平均值
- scala - Scala:将配置数据作为全局对象
- scheme - 不是给出批处理模式的命令,而是给出 .scm 文件路径?
- python - 从文本文件中的输入中按字母查找多个单词
- go - 如何将 row.Scan() int32 放入 Golang gRPC protobuf Enum 字段?
- linux-kernel - 如何通过从用户空间提供文件指针来从内核空间接收文件指针
- scala - 更新 Spark 数据框以从另一个数据框填充数据