我想为多个数据集构建决策树,所以为了让生活更轻松,我想制作一个UDF。
我正在使用rpart()的cu.summary数据集作为我的MWE。里程由价格,国家,可靠性和类型预测。
我借用了代码(来自https://www.statmethods.net/advstats/cart.html),在建模像cu.summary这样的单个数据框时效果很好。
继续cu.summary,我把它分成两个数据框,cu.summaryADC和cu.summaryNJD。然后我尝试将cu.summaryADC和cu.summaryNJD传递到我的UDF函数中以制作我的决策树。
问题是决策树的标题。我希望绘图的标题包含用于生成它的数据框的名称,例如“里程盘的回归树cu.summaryADC”和“里程盘的回归树cu.summaryNJD”。
我对一般表达式main= paste("Regression Tree for Mileage ", names(DTList))
的尝试不起作用。
感谢您的帮助!
尝试多个数据帧的代码:
#LOAD PACKAGE
library(rpart)
# PREPARE MWE DATA BY SPLITTING IT INTO TWO DATA FRAMES
dflist <- split(cu.summary, rep(1:2, length.out = nrow(cu.summary), each = ceiling(nrow(cu.summary)/2)))
cu.summaryADC <- dflist[[1]]
cu.summaryNJD <- dflist[[2]]
# MAKE FUNCTION
DTMakerFun <- function(x){
fit <- rpart(Mileage~Price + Country + Reliability + Type,
method="anova", data=x)
fitplot <- plot(fit, uniform=TRUE,
main= paste("Regression Tree for Mileage ", names(DTList)))
text(fit, use.n=TRUE, all=TRUE, cex=.8)
return(fitplot)
}
# APPLY FUNCTION
DTList <- lapply(list(cu.summaryADC,cu.summaryNJD), DTMakerFun)