返回列表列表作为数据框

里尔孔42

lapply在这里记录内部调用结果的正确方法是什么我的最终目标是一个数据帧percentage_accuracystatparam以及cutoff为每个值测试。有没有更多的“ R”方式可以做到这一点?

best<-lapply(1:100,function(i){
  statval<-sample.int(c(1,0),100,replace=T)
  lapply(1:100,function(j){
    aaa<-statval+j*27 
    list(percentage_accuracy=aaa,statparam=i,cutoff=j)
  })
})
阿克伦

我们可以将最内层的转换为data.framerbind然后rbind在最外层的循环上进行。

 d1 <- do.call(rbind, lapply(best, function(x) do.call(rbind, lapply(x, data.frame) )))
 str(d1)
 #'data.frame':   1000000 obs. of  3 variables:
 #$ percentage_accuracy: num  28 28 28 28 28 28 28 28 28 28 ...
 #$ statparam          : int  1 1 1 1 1 1 1 1 1 1 ...
 #$ cutoff             : int  1 1 1 1 1 1 1 1 1 1 ...

如果需要更快,请使用 rbindlist

library(data.table)
d2 <- rbindlist(lapply(best, function(x) rbindlist(lapply(x, data.frame))))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章