Вы можете сделать это с помощью списков.
> matrix(apply(B,1,list))
[,1]
[1,] List,1
[2,] List,1
[3,] List,1
[4,] List,1
[5,] List,1
Тем не менее, это очень не-R-подобный способ делать вещи и, вероятно, больше проблем, чем оно того стоит.Если вы опишите, что вы на самом деле пытаетесь сделать, кто-то может показать вам более подходящий подход.
ОБНОВЛЕНИЕ:
На основе обновленного вопроса приведенный ниже код будет содержать macd
и * 1008.* в матрице 2n.Вы можете написать более сложную функцию (например, такую, которая идентифицирует столбцы macd
и signal
с соответствующими инструментами).
Если вы хотите, чтобы столбцы macd
и signal
находились в отдельных матрицахВы можете просто grep
столбцы из объекта out
.
library(quantmod)
getSymbols("SPY;IWM;QQQ")
Data <- Cl(merge(SPY,IWM,QQQ))
out <- do.call(merge, lapply(1:NCOL(Data), function(i) MACD(Data[,i])))