如何在R中构造一个以方阵为输入的函数

xv8emn3q  于 2023-01-10  发布在  其他
关注(0)|答案(1)|浏览(104)

我正在为R-Script编写一个类项目,其中一部分内容是要创建一个函数,该函数将一个方阵作为输入,然后在函数本身的主体中使用它执行一些操作(比如转置,求逆,然后把那些东西作为输出返回)。我不“我不认为我会有太多的麻烦与身体的功能,并让它执行必要的任务与矩阵一旦我有了它,但是我一直在纠结于如何制作函数头,它将所需的矩阵作为输入来让我开始。
我知道如何在R中定义自己的函数(myfunction <- function(some arguments){some tasks})并且我知道如何创建一个基本的方阵(mymatrix <- matrix(data=c(1,2,3,4), nrow=2)))。我只是对如何正确地合并这两种语法来获得我所追求的感到困惑,不知道是否有人可以给予我一个如何制作正确的函数头的演示。我“我猜我想创建一个像sq_matrix这样的变量,然后使用matrix函数将一个方阵赋给它,但我能在函数的头文件里完成这些吗在函数头之外创建方阵,然后将其作为参数传递,这样是否更好?
我试过在参数中给自己的函数赋值,但是它给我抛出了一个错误,我预料到了,但是这是我唯一能想到的。

lyr7nygr

lyr7nygr1#

不如这样:

myfun <- function(X){
   if(inherits(X, "matrix")){ ## makes sure X is a matrix
      if(nrow(X) == ncol(X)){ ## makes sure X is square
         "some tasks with X"
      }else{
         stop("X is not square.\n")
      }
   }else{
      stop("X is not a matrix.\n")
   }
}

相关问题