作者remember69 (大侠好帅)
看板R_Language
标题资料切割问题
时间Wed Aug 12 09:24:11 2015
(抱歉刚刚用到别人的帐号了...)
[熟悉程度]
新手,一两个月
[问题叙述]:
手边有个资料data1如下
uid system CMD time
0
20
2010
201030
0
30
3030
.
.
.
想请问我如果要把CMD开头是"20"的资料抽出来该如何抽?
("20"包含20.2010.2020.201030...etc )
试过pmatch(),charmatch()但好像都不是
请各位高手解惑一下...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.96.194.58
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1439342654.A.486.html
1F:→ celestialgod: CMD变数是什麽类型?字串还是数字 08/12 09:53
2F:→ celestialgod: 数字比较麻烦,建议转字串处理 08/12 09:53
3F:→ celestialgod: 转字串就直接用grepl("20\\d*", CMD)就可以抓出20 08/12 09:54
4F:→ celestialgod: 开头的变数了 08/12 09:54
嗯嗯,已转成字串
但用grepl後他出来的值是TRUE跟FALSE
小的不才,请问要怎麽把他转成原本的资料形式呢?
※ 编辑: remember69 (140.96.194.58), 08/12/2015 10:15:45
5F:→ celestialgod: 逻辑值可以用在取row上面,dat[logicalVector,] 08/12 10:18
6F:→ celestialgod: 你如果要原始资料用grep 08/12 10:19
喔喔了解~
但是我转完之後发现字串开头不是20但後面有20的也被选进来了
ex 302010.401020.402020
我只要开头而已,像是"20XXXX""20XX"
不好意思好像是我问题没有描述情楚QQ
※ 编辑: remember69 (140.96.194.58), 08/12/2015 10:45:33
7F:→ celestialgod: 是我打错了... 08/12 10:46
8F:→ celestialgod: grepl("^20\\d*", CMD)这样才对 08/12 10:46
喔喔好了XD 谢谢C大!!!!! :)
※ 编辑: remember69 (140.96.194.58), 08/12/2015 10:56:07