Задача
Скажем, у меня есть функция, которая в настоящее время не векторизована. Ниже приведен только пример:
FunctionNotVectorized = function(x,y,some_options) return(x[1]+y[1])
, который имеет, скажем, 10 различных опций . Я хотел бы
- 1) определить матрицу размера
1e5 x 1e5
для каждой опции.
- 2) затем для каждой матрицы присвойте значения их соответствующим индексам.
Сначала , я определил матрицу размера 1e5 x 1e5
для каждой опции, для цикла for:
for (k in 1:10){
assign(sprintf("res%02d", k), matrix(0,1e5,1e5))
}
, который определяет матрицы с именем res01
, ... res10
.
Второй , я попытался присвоить значения для их соответствующих индексов для каждой матрицы. Но я застрял здесь
Попробуйте
Что бы я хотел сделать:
for (i in 1:1e5){
for (j in 1:1e5){
for (k in 1:10){
assign(sprintf("res%02d[i,j]", k),
FunctionNotVectorized(i,j,some_options=k))
}
}
}
но ясно, assign(sprintf("res%02d[i,j]", k)
не работает. Любая помощь будет оценена.