如何在R中形成维度为100x100的矩阵(a^|i-j|(?类似于 矩阵(向量,nrow = 100,ncol = 100(
您可以使用如下slice.index
:
x <- matrix(NA_real_, 100, 100)
x <- 0.1^abs((slice.index(x, 1) - slice.index(x, 2)))
我们可以使用outer
m1 <- outer(1:100, 1:100, FUN = function(i, j) 0.1^abs((i-j)))
dim(m1)
#[1] 100 100
或者另一种选择是sapply
m2 <- 0.1^(sapply(1:100, function(i) abs(i - 1:100)))
all.equal(m1, t(m2))
#[1] TRUE
这是一个使用outer()
创建此类矩阵的解决方案
M <- (a<-0.1)**abs(outer(1:100,1:100,"-"))