R 多功能结果的聚合
我已经得到了预测值和数据的列表。用数据框。我想做的是使用这个预测,并将它们的结果与一些聚合函数结合起来。我该怎么做 示例数据如下所示: 预测因子列表p1。。请注意。(就我而言,是树木) 每个预测器返回给定行的两列:“分类概率”和“1-分类概率” 我想对每个预测值返回的“分类概率”进行求和,并将其与求和的“1-分类概率”进行比较 样本数据:R 多功能结果的聚合,r,R,我已经得到了预测值和数据的列表。用数据框。我想做的是使用这个预测,并将它们的结果与一些聚合函数结合起来。我该怎么做 示例数据如下所示: 预测因子列表p1。。请注意。(就我而言,是树木) 每个预测器返回给定行的两列:“分类概率”和“1-分类概率” 我想对每个预测值返回的“分类概率”进行求和,并将其与求和的“1-分类概率”进行比较 样本数据: library('rpart'); size = 10; samplesize=100; mydata=data.frame(age=sample(10:40
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;
}
备选方案
我在这里不能实现的主要事情是聚合函数的结果。我可以在这里给出更简单的例子,其中我有函数:
f <- function (x, n) {
data.frame(first = x + n, second=x * n);
}
这可能是替代方案的解决方案:
f <- function (x, n) {
data.frame(first = x + n, second=x * n);
}
n <- 10
l <- lapply(2:n, f, x = 1:4)
### t(sapply(l, colSums))
Reduce('+', l)
f是的,当我调整解决方案时,它看起来也会解决我的第一个问题。谢谢:)对不起。。。我没注意到这个。。。结果仍然以错误的维度进行汇总。我需要在最后2x4矩阵,而不是2xn。我已经解决了使用Reduce函数的问题:“Reduce(+',l)”好的,我没有从问题中理解这一点。在答案中添加了您的解决方案。感谢使用Reduce
功能!
f(1:4, 2)
f(1:4, 3)
..
f(1:4, n)
f <- function (x, n) {
data.frame(first = x + n, second=x * n);
}
n <- 10
l <- lapply(2:n, f, x = 1:4)
### t(sapply(l, colSums))
Reduce('+', l)