R_Language 板


LINE

※ 引述《corel (可罗)》之铭言: : 程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来) : 大家好,小弟是R新手 : 假设我有二个字串的格式如下 : [1] "03Jan-05Jan201602Jul-04Jul2016" : [2] "06Jan-09Jan2016January 2017" : 我想要把它分离成 : "03Jan-05Jan2016" : "02Jul-04Jul2016" : 与 : "06Jan-09Jan2016" : "January 2017" : [1][2]只是举例,其实想要处理字串的长度不一 : 小弟有想到用正则表示式来处理, 以下是我的写法 : # 针对06Jan-09Jan2016格式设计的正则表示式方法 : s <- "03Jan-05Jan201602Jul-04Jul2016" : x <- gsub("(((0[1-9]|[12][0-9]|3[01]{2})[a-zA-Z]{3})- : ((0[1-9]|[12][0-9]|3[01]{2})[a-zA-Z]{3})[0-9]{4})",";",s) : x : # 只不过断出来的字串是 : # OUT PUT ";;" : 其实我想要断出来的字串是 : Result 1: : "03Jan-05Jan2016;02Jul-04Jul2016" : 或 : Result 2: : "03Jan-05Jan2016" : "02Jul-04Jul2016" : 在此,想请问大家, 在R之中是否有其它函数配合 正则表示式用来断出 : Result 1或是 Result 2的结果? : 谢谢大家 x = c("03Jan-05Jan201602Jul-04Jul2016", "06Jan-09Jan2016January 2017") pattern1 = "(\\d{2}[a-zA-Z]{3}-\\d{2}[a-zA-Z]{3}\\d{4})" pattern2 = "([a-zA-Z]*\\s\\d{4})" regexpRes = regexec(paste0(pattern1, pattern1, '?', pattern2, '?'), x) lapply(regmatches(x, regexpRes), function(x){ x[nchar(x) > 0 & c(FALSE, rep(TRUE, length(x)-1))] }) # # [[1]] # [1] "03Jan-05Jan2016" "02Jul-04Jul2016" # # [[2]] # [1] "06Jan-09Jan2016" "January 2017" 後面新问题: 字串它可能会有 [1]"03Jan-05Jan201602Jul-04Jul201602Dec-04Dec2016" #三笔同格式 [2]"06Jan-09Jan2016January 2017" #二笔不同格式 [3]"May 201607Jan-08Jan2016" #二笔不同格式 [4]"07Jan-10Jan2016MAY 201706Jan-09Jan2018" #二笔不同格式 等多种组合... 要如何改写让程式可以自动判断 http://pastebin.com/GRWaVSz1 -- R资料整理套件系列文: magrittr #1LhSWhpH (R_Language) http://tinyurl.com/1LhSWhpH data.table #1LhW7Tvj (R_Language) http://tinyurl.com/1LhW7Tvj dplyr(上) #1LhpJCfB (R_Language) http://tinyurl.com/1LhpJCfB dplyr(下) #1Lhw8b-s (R_Language) tidyr #1Liqls1R (R_Language) http://tinyurl.com/1Liqls1R --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.109.73.236
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1452325751.A.7A0.html
1F:推 corel: 感谢,请问有R的书推荐吗? 01/10 19:35
请看置底... 另外regular expression 网路上很多教学,我也是看网路上教学而已... R in a nutshell是我唯一读完的R书... ※ 编辑: celestialgod (180.218.152.118), 01/10/2016 22:00:38
2F:推 corel: 谢谢推荐 01/10 22:41







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP