Один из вариантов - l oop по последовательности столбцов, извлечь столбец матрицы и повысить его до степени индекса
sapply(seq_len(ncol(m1)), function(i) (1 + m1[,i])^i)
# [,1] [,2] [,3] [,4] [,5]
#[1,] 2 49 1728 83521 5153632
#[2,] 3 64 2197 104976 6436343
#[3,] 4 81 2744 130321 7962624
#[4,] 5 100 3375 160000 9765625
#[5,] 6 121 4096 194481 11881376
или без использования al oop, использовать индекс col
, который вернет то же измерение, что и исходная матрица, а затем включить питание для той же матрицы измерений
(m1 + 1)^col(m1)
# [,1] [,2] [,3] [,4] [,5]
#[1,] 2 49 1728 83521 5153632
#[2,] 3 64 2197 104976 6436343
#[3,] 4 81 2744 130321 7962624
#[4,] 5 100 3375 160000 9765625
#[5,] 6 121 4096 194481 11881376
. Или другой параметр: rep
(m1 + 1)^(rep(seq_len(ncol(m1)), each = nrow(m1)))
.
данные
m1 <- matrix(1:25, 5, 5)