繁体   English   中英

r:使用mapply函数到两个列表

[英]r: use mapply function to two list

我有两个列表dd1dd2 样本数据是:

DD1:

  > dd1
$`1`
  [1] 9.882462e-02 5.036365e-02 9.677686e-02 1.917278e-01 1.930706e-01 4.859976e-02
$`2`
  [1] 4.825651e-02 1.353690e-02 1.061587e-02 6.770033e-03 9.190913e-02 6.863396e-02
$`3`
  [1] 2.165620e-01 1.582611e-01 3.448556e-02 6.652456e-02 4.511841e-02 1.346382e-02
$`4`
  [1] 4.858856e-02 3.385838e-02 5.187566e-02 6.467315e-02 2.876072e-02 9.523681e-02
$`5`
  [1] 0.0418527703 0.0149859021 0.0059625537 0.0133805085 0.0670249342 0.0383909791

DD2:

> dd2
    $`1`
      [1] 1 0 0 1 1 0
    $`2`
      [1] 1 0 1 1 0 0
    $`3`
      [1] 1 0 0 1 0 0
    $`4`
      [1] 0 1 0 0 0 0
    $`5`
      [1] 0 1 0 1 0 0

我想将ROC函数应用于两个lists中的五个vector中的每一个,例如,我可以对每个vector使用ROC函数,它可以工作。

    library(pROC)
    roc1<-roc(as.factor(unlist(dd2$`1`)), dd1$`1`)
    roc2<-roc(as.factor(unlist(dd2$`2`)), dd1$`2`)
    roc3<-roc(as.factor(unlist(dd2$`3`)), dd1$`3`)
    roc4<-roc(as.factor(unlist(dd2$`4`)), dd1$`4`)
    roc5<-roc(as.factor(unlist(dd2$`5`)), dd1$`5`)

但我认为应该可以使用mapply函数将roc函数应用于两个lists每个vectors ,然后一次返回五个roc结果。 我想mapply函数会自动将函数应用于列表中的每个向量。 我把code

mapply(function(x,y) roc(as.factor(unlist(x)),y), dd2, dd1)

它不起作用。 谁能告诉我如何解决它?

(请点击链接dd1和dd2获取数据)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM