2015-02-23 4 views
0

Мне нужно создать функцию (x, k), были x = вектор длины n и k = целое число. Функция должна дать мне матрицу размеров [nxk], а записи в каждом столбце должны быть подняты до степени числа этого столбца (то есть в столбце 1 записи будут х, в столбце 2 - записи х^2 и т. д.). Мне сложно понять, как структурировать функцию, которая будет выполнять этот тип операции по столбцу.Поднятие элементов матрицы по столбцу

Большое вам спасибо.

ответ

1

Возможно, что-то вроде этого, воспользовавшись outer, которое возвращает matrix в результате применения функции к двум векторам.

matpower <- function(x,k) outer(x,seq_len(k),`^`) 
matpower(1:4,4) 

#  [,1] [,2] [,3] [,4] 
#[1,] 1 1 1 1 
#[2,] 2 4 8 16 
#[3,] 3 9 27 81 
#[4,] 4 16 64 256 
+0

Большое вам спасибо! И знаете, как я могу добавить конкретные имена в каждый из столбцов? Я хочу назвать их «x, x^2, x^3 ...», но я не нахожу, как это сделать. – cramosv

+1

@cramosv - у вас есть большая часть вашего ответа, настало время для вас сделать немного больше исследований самостоятельно! – thelatemail

Смежные вопросы