您可以使用lapply / sapply on将一个列表的元素应用于另一个列表的对应元素吗?

时间:2019-04-04 06:50:00

标签: r

我一直在尝试解决我遇到的几个列表问题。

我正在为作业分配自己的交叉验证功能。现在,我已经生成了两个列表:lm类元素列表和原始数据重采样列表。

我使用了称为cvtest的建模程序包的crossv_kfold()函数创建了5次训练和5次测试重采样。

import groovy.json.JsonSlurper
import groovy.json.JsonOutput

def req = '''{
    "langauageCode": "en-US",
    "Test": [{
        "_modificationTypeCode": "added",
        "allocationTypeCode": "3",
        "code": "Test1"
    }]
}'''
def slurped = new JsonSlurper().parseText(req)
slurped.Test[0].code = 'Test2'

println JsonOutput.prettyPrint(JsonOutput.toJson(slurped))

我使用capptest的lapply训练集创建了5个线性模型的列表

cvtest<-crossv_kfold(MyDataSet,5)

现在,我正在尝试结合其训练集来计算每个线性模型的RSME。

我试图找出一种方法来操纵lapply或sapply来获取cvtest的元素1,lmodtest的元素1,应用rmse函数并继续浏览两个列表。

基本上我想得到这个结果:

linModFunc<-function(data,form){
    lm(form,data)
    }

lmodtest<-lapply(cvtest$train,linModFunc,form=formula)

但确实有效。 有这样做的好方法吗?我想我可以使用for循环来做到这一点,但我希望找到一个更优雅的解决方案。

0 个答案:

没有答案