作者squallscer (羽毛)
看板R_Language
标题[问题] 想利用data.table将Rawdata切割栏位
时间Sun Feb 22 00:27:36 2015
文章分类提示:
- 问题: 当你想要问问题时,请使用这个类别
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
各位前辈们好,
小弟有一笔资料大约为500MB左右,
因这笔资料为原始档案,
还没将栏位定义好,
所以小弟想询问如何读入data.table後,
在将栏位进行切割?
example:
var1
1 001female 2019920404
2 002male 3019920505
3 003male 4019920606
4 004female 5019920707
希望可以透过栏位切割後变成:
id sex income birthday
1 001 female 20 19920404
2 002 male 30 19920505
3 003 male 40 19920606
4 004 female 50 19920707
再版上及google爬不到相关情形,
所以上来版上请教一下前辈,
谢谢!
[关键字]:
data.table , width
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.168.19.197
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1424536059.A.1D6.html
1F:→ andrew43: 你熟悉regular expression吗? 02/22 00:45
2F:→ andrew43: 另外,如果只靠字元数判断,可靠吗? 02/22 00:46
3F:→ squallscer: 因为他有自己的codebook 字元数他们已经设定好了! re 02/22 01:00
4F:→ squallscer: gular expressions 我目前还不清楚 >< 02/22 01:00
5F:推 celestialgod: 不知道strsplit可不可以用? 02/22 08:56
6F:推 andrew43: 没意外的话,此例以正规表达式解决满单纯的。 02/22 12:42
7F:→ andrew43: 耶,id就取前三字元,sex就判断有没有"male"即可, 02/22 15:47
8F:→ andrew43: 生日就取最後8字元,income就"e"之後到倒数第9字元。 02/22 15:47
9F:→ andrew43: 这样的规则够不够强韧?可以的话就可以下手了。 02/22 15:48
10F:→ andrew43: sex就判断有没有"female"即可。 02/22 15:55
11F:→ celestialgod: substr, regexpr就可以达成了 02/22 20:39
12F:→ squallscer: 感谢各位前辈帮忙,但是资料有2000万多Row 02/23 17:03
13F:→ squallscer: 分割出来的栏位也有10个以上,发现用substr执行速度 02/23 17:04
14F:→ squallscer: 相当的慢,还在苦恼中~ 02/23 17:05
15F:→ celestialgod: 用 Rcpp加速吧QQ.. 02/23 20:26