1行7列のデータ名声を返す関数呼び出しWOEがあります。
WOE(inData, splitCol, range, tgtCol, adjfac)
inDataがデータフレームであり、splitCol、tgtCol、およびadjfacが数値である場合、範囲は単一の数値または2x1行列にすることができます(例:range=10またはrange=c(10、20))。
ここで、範囲がn行の行列の場合、関数が行ごとにWOEを実行し、n行7列のデータフレームを返す関数を作成します。今のところ、cbindでforループを使用しています。
df <- rbind(df, WOE(inData, splitCol, range[i,], tgtCol, adjfac))
for (i in 2:nrow(range)) {
df <- rbind(df, WOE(inData, splitCol, range[i,], tgtCol, adjfac))
}
しかし、私はforループが好きではありません...私はそれをもっと単純にしたいのです。だから私もこのようにmapplyを使おうとしました:
mapply(t(WOR, list(inData), list(splitCol), split(range, nrow(range)), list(tgtCol), list(adjfac))
しかし、上記の行は私が望むようにデータフレームを返しません。それは多くのリストのデータフレームを返します。これは私がさらに計算するのが非常に難しいです。
forループをより少ない行に集約するための提案はありますか?ありがとう!