如何 "customize" 我在矩阵 R 中的元素

How to "customize" my elements in a matrix R

我想构建一个 nxm 矩阵,n< m,并且我希望每个元素 Mij = i^j 有任何想法吗?我尝试将各种向量相乘等,但我从未得到正确的结果。

n <- 3
m <- 4
outer(seq_len(n), seq_len(m), "^")
#     [,1] [,2] [,3] [,4]
#[1,]    1    1    1    1
#[2,]    2    4    8   16
#[3,]    3    9   27   81

您也可以使用 sapply:

t(sapply(1:n, `^`, 1:m))

#     [,1] [,2] [,3] [,4]
#[1,]    1    1    1    1
#[2,]    2    4    8   16
#[3,]    3    9   27   81

甚至更快:

matrix(1:n, ncol=m, nrow=n)^matrix(1:m, ncol=m, nrow=n, byrow=T)
#     [,1] [,2] [,3] [,4]
#[1,]    1    1    1    1
#[2,]    2    4    8   16
#[3,]    3    9   27   81