[程式] R語言中ID排序編號
[軟體程式類別]:
R
[程式問題]:
資料處理
[軟體熟悉度]:
高(1年以上)
[問題敘述]:
小弟最近在處理醫院病歷資料時,
因為有需要對ID進行比較,
並產生新ID,
可是因為原ID是加密過後的檔案為32字元每次比較均須相當多的時間,
故光是這個步驟可能就會耗時數週。
小弟發現,
如果能夠善用R內建的函式,
相關運作能省很多的時間。
譬如我本來也用比較ID去剔除相同之ID,
後發現用duplicated函數可以將原有數天的工作,
壓縮至一分鐘內完成。
下述的程式碼雖可以執行,
可是至少要一星期以上方能完成。
因此想請教大家有沒有更快的方式?
資料大致如下:
-----------------------------------
原有ID 診斷碼 擬創造新ID
ABCDEQ 295 1
ABCDEQ 001 1
ABCDEQ 005 1
DDWWSWW 420 2
DDWWSWW 538 2
DDWWSWW 292 2
KKQZZAQ 141 3
KKQZZAQ 141 3
.
.
.
[程式範例]:
原有資料代號為CD
NewID<-c(1) #第一個ID為1
for(i in 2: 100) #假定100筆病歷
{
if(CD[i,1]==CD[i-1,1]) #若該ID與前一個ID相同
{
NewID[i]<-NewID[i-1] #則NewID[i]與前個NewID元素
} #相同,
else
{
NewID[i]<-NewID[i-1]+1 #反之代號增加
}
}
-----------------------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.64.84.219
推
01/25 19:40, , 1F
01/25 19:40, 1F
→
01/25 20:25, , 2F
01/25 20:25, 2F
我測過,
factor似乎更久= =
※ 編輯: XYH 來自: 203.64.84.219 (01/25 20:34)
→
01/25 20:44, , 3F
01/25 20:44, 3F
→
01/25 20:45, , 4F
01/25 20:45, 4F
→
01/25 20:49, , 5F
01/25 20:49, 5F
→
01/25 20:51, , 6F
01/25 20:51, 6F
→
01/25 20:58, , 7F
01/25 20:58, 7F
→
01/25 20:59, , 8F
01/25 20:59, 8F
→
01/25 20:59, , 9F
01/25 20:59, 9F
→
01/25 21:00, , 10F
01/25 21:00, 10F
推
01/25 22:18, , 11F
01/25 22:18, 11F
→
01/25 22:26, , 12F
01/25 22:26, 12F
討論串 (同標題文章)