- 昨日関節リウマチ(RA)の新診断基準スコアの概説をした。
- それに沿って、7項目の情報を取ることにする
#############
# PはRA診断基準の情報
# P[,1]は腫脹大関節数
# P[,2]は腫脹小関節数
# P[,3]はリウマトイド因子(陰性:0,陽性:1,強陽性:2)
# P[,4]はACPA(陰性:0,陽性:1,強陽性:2)
# P[,5]は関節炎の持続期間(単位週)
# P[,6]はESR(正常:0,異常:1)
# P[,7]はCRP(正常:0,異常:1)
#############
0 3 1 2 8.64618283463642 0 1
2 5 1 0 1.61998201394454 0 1
2 6 2 2 7.65365008963272 1 0
- それが行列Pに読み込まれたとして、以下でスコアを計算する
- 出力は、"Score"がいわゆるRA診断用スコア、"Joint","Autoantibody","Inflammation","Duration"はそれぞれ、診断基準の群別の得点
RAscore<-function(P){
Score<-Joint<-Autoantibody<-Inflammation<-Duration<-rep(0,length(P[,1]))
Joint<-calcJoint(P[,1:2])
Autoantibody<-apply(P[,3:4],1,FUN="max")
Autoantibody[which(Autoantibody==2)]<-3
Autoantibody[which(Autoantibody==1)]<-2
Inflammation<-apply(P[,6:7],1,FUN="max")
Duration[which(P[,5]>=6)]<-1
Score<-Joint+Autoantibody+Inflammation+Duration
list(Score=Score,Joint=Joint,Autoantibody=Autoantibody,Inflammation=Inflammation,Duration=Duration)
}
calcJoint<-function(Pj){
Psum<-Pj[,1]+Pj[,2]
ret<-rep(0,length(Pj[,1]))
ret[which(Psum>=1 & Pj[,2]==0)]<-1
ret[which(Pj[,2]>=1 & Pj[,2]<=3 & Psum<=10)]<-2
ret[which(Pj[,2]>=4 & Pj[,2]<=10 & Psum<=10)]<-3
ret[which(Psum>10 & Pj[,2]>=1)]<-5
ret
}
RAsc<-RAscore(P)