Вы можете сделать это без лишних слов, если вам нужна матрица.
Допустим, у вас есть список, построенный следующим образом:
Test <- list(
col1=list(2,4,7),
col2=list(3,2,6,8),
col3=list(1,4,5,3,7)
)
Сначала вы строите матрицу с нулями правильных размеров.Если вы знаете их заранее, это легко.В противном случае вы можете легко получить:
n.cols <- length(Test)
n.ids <- sapply(Test,length)
n.rows <- max(unlist(Test))
out <- matrix(0,nrow=n.rows,ncol=n.cols)
Затем вы используете тот факт, что матрицы заполняются по столбцам, чтобы вычислить индекс каждой ячейки, которая должна стать единым:
> out
col1 col2 col3
[1,] 0 0 1
[2,] 1 1 0
[3,] 0 1 1
[4,] 1 0 1
[5,] 0 0 1
[6,] 0 1 0
[7,] 1 0 1
[8,] 0 1 0