予測子のリストとデータを含む data.frame があります。私がやりたいことは、この予測子を使用して、それらの結果をいくつかの集計関数と組み合わせることです。どうやってやるの?
サンプル データは次のようになります。
予測変数 p1 .. pn のリスト。(私の場合は木)
各予測子は、指定された行の「分類の確率」と「1 - 分類の確率」の 2 つの列を返します。
各予測子から返された「分類の確率」を合計し、合計された「1 - 分類の確率」と比較したいと思います。
サンプルデータ:
library('rpart');
size = 10;
samplesize=100;
mydata=data.frame(age=sample(10:40, samplesize, replace=TRUE), weight=rnorm(samplesize, mean = 60, sd = 20), girth=rnorm(samplesize, mean = 60, sd = 20))
mydata=cbind(mydata, dec=((mydata$weight > 40) | (mydata$girth > 60)))
attributes = colnames(mydata)[1:length(colnames(mydata)) - 1]
model <- list();
for(i in 1:size) {
attr = sample(1:length(attributes), sample(1:length(attributes)));
fmla <- as.formula(paste("dec ~ ", paste(attributes[attr], collapse= "+")));
tree <- rpart(fmla, data=mydata, method="class", control=model$rc);
model[[i]] <- tree;
}
model は予測変数のリストで、mydata は実際のデータです。私は今、次のように予測することができます:
predict(model[[1]], mydata)
別
ここで達成できない主なことは、関数の結果を集計することです。ここで、機能があるさらに単純なケースを示すことができます。
f <- function (x, n) {
data.frame(first = x + n, second=x * n);
}
first
次の呼び出しに対して、結果列の合計と列の値の合計を別々に取得したいと考えてsecond
います (グローバルではなく各行に対して):
f(1:4, 2)
f(1:4, 3)
..
f(1:4, n)