Я хочу обновить столбцы (добавить 1) в зависимости от диапазона значений, который варьируется в каждой строке. Моя попытка повторения строки за строкой оказывается медленной. Я покажу небольшой пример.
M <- matrix(0,nrow = 50*10^3,ncol = 100)
library(data.table)
M <- as.data.table(M)
n <- nrow(M)
set.seed(4234)
M[, `:=` (a=sample(50,n,replace = T),
b=sample(50:100,n,replace = T))]
for (x in 1:n)
set(M,i=x,j=M[['a']][x]:M[['b']][x], value = 1L)
Есть ли способ увеличить скорость с помощью этого расчета?