作者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