t(x) 转置diag(x) 对角阵x %*% y 矩阵运算solve(a,b) 运算a%*%x=b得到xsolve(a) 矩阵的逆rowsum(x)行加和colsum(x)列加和rowMeans(x) 行平均colMeans(x) 列平均
2、求解线性方程组
分析:使用函数solve(a,b),运算a%*%x=b得到x。a<-matrix(c(1,1,1,-1),2,2)b<-c(3,1)solve(a,b)运行结果>a<-matrix(c(1,1,1,-1),2,2)b<-c(3,1)solve(a,b)[1] 2 1a<-matrix(c(1,1,1,-1),2,2)
b<-c(3,1)
solve(a,b)
运行结果
>a<-matrix(c(1,1,1,-1),2,2)b<-c(3,1)solve(a,b)
[1] 2 1
注:这里矩阵a从数组读数是按照列读数
cal_metrics <- function(label, pred){
roc.p=pROC::roc(label, pred,ci =T)
if (roc.p$auc>0.5){
cutoff=roc.p$thresholds[which.max(roc.p$sensitivities+roc.p$specificities)]
sensitivity=roc.p$sensitivities[which.max(roc.p$sensitivities+roc.p$specificities)]
specificity=roc.p$specificities[which.max(roc.p$sensitivities+roc.p$specificities)]
ci = roc.p$ci
df=data.frame(type='positive classification',
auc=round(roc.p$auc,3),cutoff=cutoff,
sensitivity=sensitivity,specificity=specificity,ci_lower = ci[1],ci_upper=ci[3])
return(df)
}
else{
cutoff=roc.p$thresholds[which.min(roc.p$sensitivities+roc.p$specificities)]
sensitivity=roc.p$sensitivities[which.min(roc.p$sensitivities+roc.p$specificities)]
specificity=roc.p$specificities[which.min(roc.p$sensitivities+roc.p$specificities)]
ci = roc.p$ci
df=data.frame(type='negative classification',
auc=1-round(roc.p$auc,3),cutoff=cutoff,
sensitivity=1-sensitivity,specificity=1-specificity,ci_lower = ci[1],ci_upper=ci[3])
return(df)
}
}