0

包裹:

install.packages("pROC") 

library(pROC)

数据集如下所示:Dataset #Apologies for not include the actual dataset

我正在尝试在从第 3 列开始的所有列中应用 roc() 代码:

roc1 <- roc(df$Immunoscore,df$col_name)

目前,我正在考虑做一个lapply方法。

list_of_AUC <- lapply(3:ncol, function(i){

roc(RD0161_Final$Immunoscore, RD0161_Final[,i])})

我遇到了一个错误:

3:ncol 中的错误:NA/NaN 参数

有没有更好的方法?请帮忙!

4

2 回答 2

3

这对你有用吗?

lapply(RD0161_Final[,3:9], function(i) {
      roc(RD0161_Final[,2] ~ i)
}

或者,您可以指定列名

lapply(RD0161_Final[,3:9], function(i) {
      roc(RD0161_Final[["Immunoscore"]] ~ i)
}
于 2021-06-12T06:32:36.397 回答
2

试试这个代码 -

list_of_AUC <- lapply(RD0161_Final[-(1:2)], function(x) roc(RD0161_Final$Immunoscore, x))

您还可以使用3:ncol(RD0161_Final)对数据框进行子集化。

list_of_AUC <- lapply(RD0161_Final[3:ncol(RD0161_Final)], function(x) roc(RD0161_Final$Immunoscore, x))
于 2021-06-12T05:42:24.147 回答