R ではapply
、lapply
、rapply
、do.call
、 などの関数を使用して次のコードをどのように置き換えますか?
u <- 10:12
slist <- list()
for (i in 1:length(u)) {
p <- combn(u, i)
for (j in 1:ncol(p)) {
s <- paste(p[,j], collapse=",")
slist[[s]] <- 0
}
}
この部分について:
for (j in 1:ncol(p)) {
s <- paste(p[,j], collapse=",")
私は次のようなものを試しました:
s <- apply(p, 2, function(x) paste(x, collapse=","))
これは機能します。しかし、slist[[s]] <- 0
同じ for ループ内のその部分については、どうすればよいかわかりません。
編集:これが私がやろうとしていることです。vector については、u
その vector 内のすべてのサブセットのリストを作成しています。次に、サブセットごとに に割り当てs
、その文字列s
を の要素の名前として使用しますslist
。ちょっと変ですが、宿題用です。上記のコードの場合、これは slist の最初の 5 つの要素になります。
> slist
$`10`
[1] 0
$`11`
[1] 0
$`12`
[1] 0
$`10,11`
[1] 0
$`10,12`
[1] 0
ええ、私は apply などを適切に使用する方法を学ぼうとしています。