作者gsuper (統計的巴比倫塔)
看板Statistics
標題Re: [程式] R語言中ID排序編號
時間Tue Jan 25 22:26:35 2011
43
: -----------------------------------
: 原有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
: .
我會這樣寫
DATA <- 上面的矩陣
DATA <- cbind( DATA,NEW_ID=rep("",dim(DATA)[1]) )
DATA[,"NEW_ID"] <- as.numeric(factor(DATA[,"原有ID"]))
我覺得就算有100萬筆也不會花太久時間阿
為什麼會跑到一周?
-------------------------------------
7000萬筆我來測測看
-------------------------------------
> dim(e)
[1] 78000000 2
> e[1:10,]
e
[1,] "aA1aA1aA1" ""
[2,] "bB2bB2bB2" ""
[3,] "cC3cC3cC3" ""
[4,] "dD4dD4dD4" ""
[5,] "eE5eE5eE5" ""
[6,] "fF6fF6fF6" ""
[7,] "gG7gG7gG7" ""
[8,] "hH8hH8hH8" ""
[9,] "iI9iI9iI9" ""
[10,] "jJ10jJ10jJ10" ""
> e[,2] <- as.numeric(factor(e[,1]))
--------------------------------------
126秒
好像有點久....
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.239.247
※ 編輯: gsuper 來自: 140.113.239.247 (01/25 22:27)
※ 編輯: gsuper 來自: 140.113.239.247 (01/25 22:37)
※ 編輯: gsuper 來自: 140.113.239.247 (01/25 22:52)
1F:→ lin15:factor那個做法就跟我一樣了 檔案太大還是用sas吧 01/25 23:40
2F:→ lin15:就算這個處理的完其他應該還是很慢 01/25 23:41
3F:→ gsuper:是阿 7000萬筆剛好有一點點SWAP , 若加上許多資料的column 01/25 23:43
4F:→ gsuper:記憶體就爆了 , 之前B大的方法是再資料 sort 上比較慢 01/25 23:44
5F:→ gsuper:比較理想的做法還是 sql 建 index 01/25 23:44
6F:→ bmka:sort比較慢? 那就先在excel(?)sort好再讀進R啊(笑) 01/25 23:51