gpt4 book ai didi

r - 计算传递给函数的参数数量

转载 作者:行者123 更新时间:2023-12-03 19:51:13 24 4
gpt4 key购买 nike

我对计算传递给函数的参数数量感兴趣。 length不能用于该目的:

>> length(2,2,2,2,2)
Error in length(2, 2, 2, 2, 2) :
5 arguments passed to 'length' which requires 1

这很明显,如 length需要 1 个参数,所以:
length(c(2,2,2,2,2))

会产生预期的结果 - 5。

解决方案

我想这样调用我的函数 myFunction(arg1, arg2, arg3) . 这可以通过使用省略号来完成:
myCount <- function(...) {length(list(...))}
myCount会产生想要的结果:
>> myCount(2,2,2,2,2)
[1] 5

问题

这是非常低效的。我在大量参数上调用这个函数,创建列表只是为了计算对象的数量是浪费的。返回传递给函数的参数数量的更好方法是什么?

最佳答案

怎么样

myCount <- function(...) {length(match.call())-1}

这只是检查传递的调用(并删除函数名称本身的 1)

关于r - 计算传递给函数的参数数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44011918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com