gpt4 book ai didi

r - 设置 R 中函数参数的默认值

转载 作者:行者123 更新时间:2023-12-02 06:30:49 32 4
gpt4 key购买 nike

我想设置

byrow=TRUE

作为默认行为

matrix()

R 中的函数。有什么办法可以做到这一点吗?

最佳答案

您可以使用formals<-替换功能。

但首先最好复制 matrix()到一个新函数,这样我们就不会弄乱使用它的任何其他函数,或者导致 R 因更改形式参数而可能导致的任何困惑。这里我将其称为myMatrix()

myMatrix <- matrix
formals(myMatrix)$byrow <- TRUE
## safety precaution - remove base from myMatrix() and set to global
environment(myMatrix) <- globalenv()

现在myMatrix()matrix() 相同除了byrow争论(当然还有环境)。

> myMatrix
function (data = NA, nrow = 1, ncol = 1, byrow = TRUE, dimnames = NULL)
{
if (is.object(data) || !is.atomic(data))
data <- as.vector(data)
.Internal(matrix(data, nrow, ncol, byrow, dimnames, missing(nrow),
missing(ncol)))
}

这是一个测试运行,显示 matrix()使用默认参数,然后 myMatrix()及其默认参数。

matrix(1:6, 2)
# [,1] [,2] [,3]
# [1,] 1 3 5
# [2,] 2 4 6
myMatrix(1:6, 2)
# [,1] [,2] [,3]
# [1,] 1 2 3
# [2,] 4 5 6

关于r - 设置 R 中函数参数的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27995306/

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