Скажите X
- это большая разреженная матрица, где каждая строка имеет только одну запись, отличную от нуля. У меня есть вектор pos
с расположением столбцов, куда идет этот ненулевой элемент. Для того, чтобы заполнить матрицу, следующий цикл работы:Заполните разреженную матрицу с помощью sapply в R
for (row in 1:nrow(X)) {
X[row, pos[row]] <- 1
}
Есть ли способ сделать это без петли, возможно, с помощью sapply
?
Спасибо, это работает. Поскольку 'X' не обязательно является квадратной матрицей, я использовал' X <- sparseMatrix (i = 1: n, j = pos, x = 1) ', где' n' - количество строк. – nemarona