0
我已經獲得了預測器和data.frame的數據列表。我想要做的是使用這個預測器,並將它們的結果與一些聚合函數結合起來。我怎樣才能做到這一點?多個函數結果的聚合
示例數據如下所示:
預測變量列表p1 .. pn。 (樹在我的情況下)
每個預測變量返回兩列:給定行的'分類概率'和'1 - 分類概率'。
我想總結每個預測器返回的「分類概率」,並將其與總結的「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;
}
哪裏模型預測和MYDATA的名單是實際數據。現在我可以預測有:
predict(model[[1]], mydata)
替代
我不能達到這裏主要的是聚合的功能的結果。在這裏我可以給更簡單的情況下,在那裏我有功能:
f <- function (x, n) {
data.frame(first = x + n, second=x * n);
}
,並希望得到的結果列first
的總和,並分別在second
列(不globaly爲每一行)值的總和以下電話:
f(1:4, 2)
f(1:4, 3)
..
f(1:4, n)
是的,它看起來,當我適應的解決方案同樣會解決我的第一個問題。謝謝:) – user364622 2013-03-14 19:29:45
對不起......我沒有注意到這個......結果仍然以錯誤的維度總結。我最後需要2x4矩陣而不是2xn。我已經解決了使用Reduce函數:「Reduce('+',l)」 – user364622 2013-03-14 20:35:29
OK,沒有從這個問題中理解。將答案添加到答案中。感謝'Reduce'功能! – djhurio 2013-03-15 06:11:42