gpt4 book ai didi

r - 学习如何处理 R 函数中的 ...

转载 作者:行者123 更新时间:2023-12-04 02:26:25 25 4
gpt4 key购买 nike

这是我的职责。基本上我想包括一个 if else其中的语句,但由我在...中使用的参数的长度控制:

这是我到目前为止所尝试过的,但它是错误的:

  soma_mtcars<-function(data,...){
if(length(...) < 2){
sum_df<- data %>% group_by() %>% summarise(total = sum(disp))
}
else(
sum_df<- data %>% group_by() %>% summarise(total = sum(disp))
)
}

当然问题出在length(...) < 2 。我该如何处理?

例如,我希望输出: soma_mtcars(mtcars,cyl)soma_mtcars(mtcars, cyl, disp)

最佳答案

您可以使用 nargs(),它为您提供参数的总数(即包括您的 data 参数):

soma_mtcars <- function (data, ...) {
if (nargs() < 3L) { …
}

...或者您可以传递... list,并获取其结果的长度:

soma_mtcars <- function (data, ...) {
if (length(list(...)) < 2L) { …
}

关于r - 学习如何处理 R 函数中的 ...,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67253812/

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