Re: [問題] Area under curve/line

看板R_Language作者 (可笑的自以為...)時間10年前 (2014/05/08 11:26), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
我猜測你需要自己手動 去調整threshold!! package中的 thresh argument 似乎起不了作用!! (或是我沒弄懂怎麼用... @@") auc(c(0,30,60),c(145,327,189),thresh=0) auc(c(0,30,60),c(145,327,189),thresh=145) ## 設定 thresh 沒起作用!! auc(c(0,30,60),c(145,327,189)-145,thresh=0) ## 手動設定 thresh 有作用!! 下面提供參考的程式碼: T=c(0,30,60) X=matrix(c(145,327,189,188,275,165,100,89,121,201,223,188),nrow=3) rownames(X) <- paste("T",1:3,sep="") colnames(X) <- paste("S",1:ncol(X),sep="") t(X) AUC = sapply(1:ncol(X),function(k){auc(c(0,30,60),X[,k]-X[1,k],thresh=0)}) AUC [1] 6120.0000 2337.1717 206.7202 537.4380 ## ## 此方法算出來的auc不知道為什麼也不精確? ## 不過誤差小於 0.1 看你是否可以接受!! ## 以下提供我手動硬刻的驗算程式碼: ## AA=c() for(k in 1:ncol(X)){ if( min(X[,k])==X[1,k] ){ A = ( ( (X[2,]-X[1,])*(T[2]-T[1])+(X[2,]-X[1,]+X[3,]-X[1,] )*(T[2]-T[1]))/2 )[k] }else{ if( min(X[,k])==X[2,k] ){ A = ( ( T[3]-( -(X[2,]-X[1,])/( (X[3,]-X[2,])/(T[3]-T[2]) )+T[2] ) )*( X[3,]-X[1,] )/2 )[k] }else{ A = ( ( -(X[2,]-X[1,])/( (X[3,]-X[2,])/(T[3]-T[2]) )+T[2] )*( X[2,]-X[1,] )/2 )[k] } } AA[k]=A } AA [1] 6120.0000 2337.1364 206.7188 537.4286 ## ## 比較 AUC 和 AA 參考一下: ## > AUC [1] 6120.0000 2337.1717 206.7202 537.4380 > AA [1] 6120.0000 2337.1364 206.7188 537.4286 > AUC-AA [1] 9.094947e-13 3.535354e-02 1.482629e-03 9.445100e-03 ※ 引述《CKAXI (我不在...)》之銘言: : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : : [軟體熟悉度]: : 新手(沒寫過程式,R 是我的第一次) : [問題敘述]: : 我在三個時間點做了三次測驗,想以第一次測驗的結果為基準計算三次測驗連線下 : 的面積(若第三次的結果低於第一次的結果,則面積只計算至基準線和二三次結果 : 交界處) : 我原本想使用"flux"package中的"auc"來計算,但是經過幾次測試發現其中 : thresh這個argument好像怪怪的 : http://artax.karlin.mff.cuni.cz/r-help/library/flux/html/auc.html : 不知道各位有沒有其它的方法可以解決原本的問題 : [程式範例]: : 資料大略會是這樣,需要計算每位受試者的area under line : Subj T1(0) T2(30) T3(60) : 1 145 327 189 : 2 188 275 165 : ... : [關鍵字]: -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.69.30.120 ※ 文章網址: http://www.ptt.cc/bbs/R_Language/M.1399519601.A.AC2.html

05/08 19:46, , 1F
感謝koai大!請讓我來研究一下您提供的程式碼
05/08 19:46, 1F
文章代碼(AID): #1JQlbnh2 (R_Language)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1JQlbnh2 (R_Language)