现存的方法很多都会自带现成的工具
线性模型boot::cv.glm应该可以直接做
用caret的话
require(caret)</p>
<p>fitControl = trainControl(<br />
method = "repeatedcv",<br />
number = 10,<br />
repeats = 5,<br />
returnResamp = "all")</p>
<p>x = jitter(10:30)<br />
y = jitter(40:60)</p>
<p>glmFit = train(y, x,<br />
method = "glm",<br />
trControl = fitControl)</p>
<p>print(glmFit)
</p>
修改train()中的参数method 就可以比较几十种不同的分类/回归方法
修改fitControl()中的参数method即可选择不同的验证方法
目前有boot, boot632, cv, repeatedcv, LOOCV, LGOCV, oob这几种
修改number指定折数或者重抽样迭代次数
修改repeats指定repeatedcv做多少次重复
不过 以上都是浮云 你依然完全拥有自己去实现的自由 。。。