当前位置: 首页 > news >正文

c 可以做网站外包app开发价格表

c 可以做网站,外包app开发价格表,怎么自己建立一个网站后台,佛山市网能建设有限公司继续《SAS编程与数据挖掘商业案例》学习笔记#xff0c;本文侧重数据处理实践#xff0c;包括#xff1a;HASH对象、自定义format、以及功能强大的正则表达式 一#xff1a;HASH对象 Hash对象又称散列表#xff0c;是根据关键码值而直接进行访问的数据结构#xff0c;是根… 继续《SAS编程与数据挖掘商业案例》学习笔记本文侧重数据处理实践包括HASH对象、自定义format、以及功能强大的正则表达式 一HASH对象 Hash对象又称散列表是根据关键码值而直接进行访问的数据结构是根据关键码值而直接进行访问的数据结构 sas提供了两个类来处理哈希表用于存储数据的hash和用于遍历的hiter,hash类提供了查找、添加、修改、删除等方法hiter提供了用于定位和遍历的first、next等方法。 优点键值的查找是在内存中进行的有利于提高性能 hash表可以在数据步运行时动态的添加更新或删除观测 hash表中可以很快的定位数据减少查找次数 常用方法 definekey定义键 Definedata:定义值 definedone定义完成可以载入数据 add添加键值如在hash表中已存在则忽略 replace如果健在hash表中存在则替换如果不存在则添加键值 remove清除键值对 find查找健值如果存在则将值写入对应变量 check查找键值如果存在则返回rc0不修改当前变量的值 output将hash表输出到数据集 clear清空hash表但并不删除对象 equal判断两个hash类是否相等 find方法的示例 libname chapt12 f:\data_model\book_data\chapt12; data results; if _n_0 then set chapt12.participants;                   if _n_ 1 then do; declare hash h(dataset:chapt12.participants);     h.definekey(name); h.definedata(gender, treatment); h.definedone(); end; set chapt12.weight; if h.find() 0 then output; run; hiter对象的引例 data patients; length patient_id $ 16 discharge 8; input patient_id discharge:date9.; datalines; smith-4123 15mar2004 hagen-2834 23apr2004 smith-2437 15jan2004 flinn-2940 12feb2004 ; data _null_; if _n_0 then set patients; declare hash ht(dataset:patients,ordered:ascending); ht.definekey(patient_id); ht.definedata(patient_id, discharge); ht.definedone(); declare hiter iter(ht); rc iter.first(); do while (rc0); put patient_id discharge:date9.; rc iter.next(); end; run; 用declare hiter iter(ht);给hash表ht定义了一个遍历器iter之后调用first方法将遍历器定位到hash表的第一条观测然后使用next方法遍历hash表中的所有记录并输出。 商业实战-两个数据集的合并 data both1(droprc);     declare hash plan ();    rc plan.definekey (plan_id);  rc plan.definedata (plan_desc);  rc plan.definedone ();   do until (eof1) ;      set chapt12.plans end eof1; rc plan.add ();     end; do until (eof2) ;  set chapt12.members end eof2; call missing(plan_desc); rc plan.find ();  output;    end; stop; run; 上述程序可以简化为 data both2; length plan_id $3 plan_desc $20; if _n_ 1 then do; declare hash h(dataset:chapt12.plans); h.definekey(plan_id); h.definedata(plan_desc); h.definedone(); call missing(plan_desc); end; set chapt12.members; rch.find(); run; 二format 自定义format Proc Format; Value $ Sex_Fmt F女 M男 Other 未知; Value Age_Dur Low-1010岁以下             11-1311-13岁 14-1514-15 15-High15岁以上; Run; 应用 Data  test; Set  sashelp.class(keepsex age); xput(sex,$sex_fmt);yput(age,age_dur.); Run; 三正则表达式 /.../  一个正则表达式的起止 |  数项之间的选择“或”运算 ()   匹配组标记一个子表达式的开始和结束位置 .    除换行符以外的任意字符 \w  任一单词字符数字大小写字母以及下划线 \W  任一非单词字符 \s   任一空白字符包括空格、制表符、换行符、回车符、中文全角空格等 \S   任一非空白字符 \d   0-9任一数字 \D  任一非数字字符 [...] [^...] [a-z]  从a到z [^a-z]  不在从a到z范围内的任意字符 ^  匹配输入字符串的开始位置 $  匹配输入字符串的结尾位置 \b  描述单词的前或后边界 \B  表示非单词边界 *  匹配0次或多次 匹配一次或多次 ?  匹配零次或 一次 {n}  匹配n次 {n,}  匹配n次以上 {n,m}  匹配n到m次 常用函数 Prxparse     定义一个正则表达式 Prxmatch  返回匹配模式的首次匹配位置 Call prxsubstr   返回匹配模式在目标字符串的开始位置和长度 Prxposn    返回正则表达式子表达式对应的匹配模式值 Call  prxposn    返回正则表达式子表达式对应的匹配模式和长度 Cal l  prxnext  返回匹配模式在目标字符串中的多个匹配位置和长度 Prxchange    替代匹配模式的值 Call prxchange   替代匹配模式的值 eg1 data _null_; if _n_ 1 then pattern_num rxparse(/cat/); retain pattern_num; input string $30.; position rxmatch(pattern_num,string); file print; put pattern_num string position; datalines; there is a cat in this line. does not match cat cat in the beginning at the end, a cat cat ; run; eg2数据验证 data match_phone; set chapt12.phone_numbers; if _n_ 1 then pattern prxparse(/\(\d\d\d\) ?\d\d\d-\d{4}/); retain pattern; if prxmatch(pattern,phone) gt 0 then output; run; 找出不匹配的手机号码 data unmatch_phone; set chapt12.phone_numbers; where not prxmatch(/\(\d\d\d\) ?\d\d\d-\d{4}/,phone); run; Eg3:提取匹配某种模式的字符串 data extract; if _n_ 1 then do; pattern prxparse(/\(\d\d\d\) ?\d\d\d-\d{4}/); if missing(pattern) then do; put error in compiling regular expression; stop; end; end; retain pattern; length number $ 15; input string $char80.; call prxsubstr(pattern,string,start,length); if start gt 0 then do; number substr (string,start,length);  number compress(number, ); output; end; keep number; datalines; this line does not have any phone numbers on it this line does: (123)345-4567 la di la di la also valid (123) 999-9999 two numbers here (333)444-5555 and (800)123-4567 ; run; eg4提取名字 data ReversedNames; input name $32.; datalines; Jones, Fred Kavich, Kate Turley, Ron Dulix, Yolanda ; data FirstLastNames; length first last $ 16; keep first last; retain re; if _N_ 1 then re prxparse(/(\w), (\w)/); set ReversedNames; if prxmatch(re, name) then do; last prxposn(re, 1, name); first prxposn(re, 2, name); end; run; 注1,2分别代表正则表达式中的两个组 eg5提取符合规定的名字 data old; input name $60.; datalines; Judith S Reaveley Ralph F. Morgan Jess Ennis Carol Echols Kelly Hansen Huff Judith Nick Jones ; data new; length first middle last $ 40; re1 prxparse(/(\S)\s([^\s]\s)?(\S)/o); re2 prxparse(/(\S)(\s)([^\s]\s)(?)(\S)/o); set old; id1prxmatch(re1, name); id2prxmatch(re2, name); if id1 then do; first prxposn(re1, 1, name); middle prxposn(re1, 2, name); last prxposn(re1, 3, name); end; if id2 then testprxposn(re1, 4, name); put test; run; Eg6:返回匹配模式的多个位置 data _null_; expressionid prxparse(/[crb]at/); text the woods have a bat, cat, and a rat!; start 1; stop length(text); call prxnext(expressionid, start, stop, text, position, length); do while (position 0); found substr(text, position, length); put found position length; call prxnext(expressionid, start, stop, text, position, length); end; run; 注首次执行call prxnext返回一个position然后进入循环在抽取满足条件的子串中再次执行all prxnext此时会返回下一个匹配的position Eg7:替换文本 data cat_and_mouse; input text $char40.; length new_text $ 80; if _n_ 1 then match prxparse(s/[Cc]at/mouse/); retain match; call prxchange(match,-1,text,new_text,len,trunc,num);    if trunc then put note: new_text was truncated; datalines; the Cat in the hat there are two cat cats in this line here is no replacement ; run;
http://wiki.neutronadmin.com/news/279395/

相关文章:

  • 四川建设厅网上查询网站国家一流本科专业建设名单
  • 做cpa一定要有网站吗12306网站开发语言
  • 优秀个人网站图片有一个做炫舞官网活动的网站
  • 网站开发网站设计素材wordpress页面内容设计
  • 微信公众号影视网站怎么做网站调用微信js视频
  • 银川市住房和城乡建设厅网站唐山市住房和城乡建设局官方网站
  • 互联网行业前沿资讯WordPress优化百度广告
  • php网站是什么数据库文件专业做网站哪家便宜
  • 昆明360网站制作wordpress主页html下划线
  • 建网站需要多长时间东南亚vps
  • 嘉兴网站建设制作重庆seowhy整站优化
  • 网站建设政策外贸 网站推广计划
  • 娄底建设网站公司做网站合同
  • 优设计网站中国建设银行东营分行网站
  • 电商网站建设 平台网络营销培训学院
  • 怎么做抽奖网站商务网站的主要内容
  • 内蒙古乌海建设局网站极速网站推广专家
  • 门户网站网站制作商丘网站制作的流程
  • 如何侵入网站服务器深圳住房和建设局网站融悦居
  • 百捷网站建设工资商标查询天眼查
  • 域名换了网站需要备案么黄冈推广平台
  • 纯flash网站价格网站空间不支持php
  • 网站设计的标准网站建设有前景吗
  • 哪些网站是响应式建设营销型网站的要素
  • 网站开发框架怎么写tomcat 建网站
  • 网站国际网络备案号济南百度做网站
  • 微信制作企业网站蓬莱建网站
  • 河南网站建设的公司为什么要建设双端网站
  • 唐山做企业网站网站信息维护方案
  • 百度推广网站一年多少钱彩票网站怎么做系统