Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 带外环的构造矩阵_R_Matrix - Fatal编程技术网

R 带外环的构造矩阵

R 带外环的构造矩阵,r,matrix,R,Matrix,我有一个问题,如何构造这种类型的矩阵更省时。任务是用户输入自然数(n=1,2,3,4,5…),R必须打印此类矩阵(在n=4的矩阵类型下方)。我观察到,第一列和第二列与第六列和第七列是对称的,这足以正确打印左侧的第一列和第二列。我还观察到,第三列作为第二列+c(0,0,1,1,1,0,0)获得,对应于该列的1+1+1=3-编号。但是我不明白,在一般情况下,这个矩阵的算法是什么(例如,对于n=6,dim是2n-1 x 2n-1(nrow x ncol)。它是一列一列构造这个矩阵的最简单的变体还是简化

我有一个问题,如何构造这种类型的矩阵更省时。任务是用户输入自然数(n=1,2,3,4,5…),R必须打印此类矩阵(在n=4的矩阵类型下方)。我观察到,第一列和第二列与第六列和第七列是对称的,这足以正确打印左侧的第一列和第二列。我还观察到,第三列作为第二列+c(0,0,1,1,1,0,0)获得,对应于该列的1+1+1=3-编号。但是我不明白,在一般情况下,这个矩阵的算法是什么(例如,对于n=6,dim是2n-1 x 2n-1(nrow x ncol)。它是一列一列构造这个矩阵的最简单的变体还是简化任务的函数

1 1 1 1 1 1 1
1 2 2 2 2 2 1
1 2 3 3 3 2 1
1 2 3 4 3 2 1
1 2 3 3 3 2 1
1 2 2 2 2 2 1
1 1 1 1 1 1 1

是的,
outer
可以让这更容易。与
pmin
相结合,它可以提供您想要的行为

n <- 4

series <- c(seq_len(n-1), n, rev(seq_len(n-1)))
# [1] 1 2 3 4 3 2 1

outer(series, series, pmin)
     # [,1] [,2] [,3] [,4] [,5] [,6] [,7]
# [1,]    1    1    1    1    1    1    1
# [2,]    1    2    2    2    2    2    1
# [3,]    1    2    3    3    3    2    1
# [4,]    1    2    3    4    3    2    1
# [5,]    1    2    3    3    3    2    1
# [6,]    1    2    2    2    2    2    1
# [7,]    1    1    1    1    1    1    1

n谢谢!现在我了解了此功能的功能!很高兴能提供帮助。
outer
如果每天使用,将提高您的生活质量。
myfun <- function(n) {
                series <- c(seq_len(n-1), n, rev(seq_len(n-1)))
                return(outer(series, series, pmin))
            }
myfun(4)