マトリックスを必要とする場合は、これを行うことはできません。
は、あなたがこのように構成リストがあるとしましょう:
Test <- list(
col1=list(2,4,7),
col2=list(3,2,6,8),
col3=list(1,4,5,3,7)
)
まずあなたは正しい寸法のゼロで行列を構築します。あらかじめそれらを知っていれば、簡単です。そうしないとあなたが簡単に導き出すことができます。これは、与え
id <- unlist(Test)+rep(0:(n.cols-1),n.ids)*n.rows
out[id] <- 1
colnames(out) <- names(Test)
:
> 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
を
n.cols <- length(Test)
n.ids <- sapply(Test,length)
n.rows <- max(unlist(Test))
out <- matrix(0,nrow=n.rows,ncol=n.cols)
を次に、行列が一つになる必要があり、各セルのインデックスを計算するために列方向に満たされているという事実を使用します
です。あなたはリストを持っています(col1 = list(1,4)、col2 = list(2,6,8)、そういうものですか? –
私は非常に反応が遅かったですが、あなたの答えは素晴らしかったです。 – Ron