以前、R でのベクトルの考え方に関する自分自身の質問に答えましたが、「ベクトル化」できない別の問題があります。ベクトルの方が高速でループが遅いことは知っていますが、ベクトル メソッドでこれを行う方法がわかりません。
完全な限界分析を行いたいデータ フレーム (感傷的な理由から my.data と呼びます) があります。特定の要素を一度に 1 つずつ削除し、データ フレームを「値」にする必要があります。次に、次の要素のみを削除して、繰り返しを再度実行する必要があります。その後、何度も何度も... アイデアは、私のデータのサブセットに対して完全な周辺分析を行うことです。とにかく、これをベクトル効率の良い方法で行う方法が思いつきません。
コードのループ部分を短くすると、次のようになります。
for (j in my.data$item[my.data$fixed==0]) { # <-- selects the items I want to loop
# through
my.data.it <- my.data[my.data$item!= j,] # <-- this kicks item j out of the list
sum.data <-aggregate(my.data.it, by=list(year), FUN=sum, na.rm=TRUE) #<-- do an
# aggregation
do(a.little.dance) && make(a.little.love) -> get.down(tonight) # <-- a little
# song and dance
delta <- (get.love) # <-- get some love
delta.list<-append(delta.list, delta, after=length(delta.list)) #<-- put my love
# in a vector
}
だから明らかに、私は途中でたくさんのものをハックしました。目標は、より効率的なベクトルを使用して j ループを削除することです。何か案は?