Преобразование матрицы в список векторов-столбцов: методы и примеры

В программировании на R матрицы часто используются для хранения структурированных данных и управления ими. Однако могут возникнуть ситуации, когда вам необходимо преобразовать матрицу в список векторов-столбцов. В этой статье рассматриваются несколько методов с примерами кода для достижения такого преобразования.

Метод 1: использование функции «as.list».
Самый простой способ преобразовать матрицу в список векторов-столбцов — использовать функцию «as.list». Вот пример:

# Create a matrix
matrix_data <- matrix(1:9, ncol = 3)
# Convert matrix to list of column vectors
column_list <- as.list(matrix_data)
# Print the list of column vectors
print(column_list)

Метод 2: использование цикла For
Другой подход заключается в использовании цикла for для перебора каждого столбца матрицы и сохранения их как отдельных векторов в списке. Вот пример:

# Create a matrix
matrix_data <- matrix(1:9, ncol = 3)
# Convert matrix to list of column vectors using a for loop
column_list <- list()
for (i in 1:ncol(matrix_data)) {
  column_list[[i]] <- matrix_data[, i]
}
# Print the list of column vectors
print(column_list)

Метод 3: использование функции «Применить».
Функция «Применить» в R позволяет применять функцию к каждому столбцу (или строке) матрицы. Установив для параметра «MARGIN» значение 2, вы можете применить функцию к каждому столбцу. Вот пример:

# Create a matrix
matrix_data <- matrix(1:9, ncol = 3)
# Convert matrix to list of column vectors using the apply function
column_list <- apply(matrix_data, MARGIN = 2, as.vector)
# Print the list of column vectors
print(column_list)

Метод 4: использование функции «lapply».
Функция «lapply» аналогична функции «apply», но работает с объектами списка. Вы можете использовать его для перебора каждого столбца матрицы и преобразования их в отдельные векторы в списке. Вот пример:

# Create a matrix
matrix_data <- matrix(1:9, ncol = 3)
# Convert matrix to list of column vectors using the lapply function
column_list <- lapply(seq_len(ncol(matrix_data)), function(i) matrix_data[, i])
# Print the list of column vectors
print(column_list)

В этой статье мы рассмотрели несколько методов преобразования матрицы в список векторов-столбцов в R. Предпочитаете ли вы простоту функции as.list, гибкость цикла for или мощь «Apply» и «Lapply» теперь у вас есть целый ряд опций на выбор. Преобразуя матрицу в список векторов-столбцов, вы можете легко выполнять операции над столбцами или применять функции к каждому столбцу индивидуально, открывая новые возможности для анализа и манипулирования данными.