【发布时间】:2019-04-27 19:21:26
【问题描述】:
我需要在 R 中编写一个函数,它接收一个整数 n>1 作为输入,并生成一个输出矩阵 P,其中 P_{i,j} = min (i,j) for(i,j)= 1,...,n.此函数不得有 for 或 while 循环。
到目前为止,我已经尝试过以下代码。
mat <- function(n){
m <- matrix(0,nrow = n,ncol = n)
if(row(m) >= col(m)){
col(m)
}
else{
row(m)
}
}
我知道在 if 条件下,row(m) 和 col(m) 我应该能够查看矩阵,但是,我不知道如何为该条件设置它,我可以得到最小值row(m) 和 col(m) 在 (i,j) 位置。我知道在上面的条件下我不会达到后者,但到目前为止是我最接近的。
一个例子如下。 如果 n=3,那么结果应该是:
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 2 2
[3,] 1 2 3
【问题讨论】: