У меня есть матрица с n строк и d столбцов. Например,
n = 100; d = 3
mat = matrix(rnorm(n * d) ncol = d)
Мне нужно взять столбцы матрицы и назначить их переменным x1, x2, ..., xd. Количество столбцов не будет фиксированным.
Я пытался разбить матрицу и присвоить ее с помощью оператора mapply, но присвоение не происходит:
nam = paste0("x", 1:d)
column_vectors = split(x, rep(1:ncol(x), each = nrow(x)))
mapply(FUN = assign, nam, column_vectors)
Я мог бы сделать это грубой силой, но должен быть более простой и чистый способ.
nam = paste0("x", 1:d)
column_vectors = split(x, rep(1:ncol(x), each = nrow(x)))
for(i in seq_along(column_vectors)){
assign(nam[i], column_vectors[[i]])
}