训练记忆的SAS程序

对于医者而言,需要经常温习,测试已经学习过的内容,以加深印象,巩固知识。现在,通过网络可以下载到很多的电子试卷,给我们检测自己的能力带来很大方便。同时注意到

这些电子内容适用范围狭窄,不便于操作,是因为其形式固定、僵化造成种种不便:(1)排列顺序固定,过于规律,看过第一遍,以后就容易凭经验‘顺竿遛’,再次测试达不到目的,其在随机性上需要大大改良;(2)题数不能灵活变动<1>不能根据实际情况添加有用内容<2>在测试时必须完成指定题数,这在个体诊所及家务事多的人时间不允许;(3)目前仅见选择题型的电子书,而能抽查,考核背诵、记忆内容的未见,而以上及更多没能详细阐明的缺陷都可以被sas消除。基于此,简介一下可能帮助记忆训练的sas程序。

实际上这些都是“常用抽样sas程序”的拓展,“http://www.pinggu.org/bbs/b68i392413p1.html”。

一 首先搞一个示例文件 可见有33个需要记忆的题目:第一列题号;第二列是题号下对应的句子号,每个句子号的第一行代表该题干下有几个需要记诵的句子;第三列即题干和对应的句子。

1 1 年龄分期

1 1 胎新婴幼学龄青

2 3 小儿体重

2 1 1周内体重(kg)+月份*0.7  

2 2 6月后 前式+(月份-6)*0.4

2 3 2周后 2*年龄+8

3 6 身长

3 1 出生50cm

3 2 前6月每月长2.5cm

3 3 后6月1.5cm

3 4 1岁75cm  

3 5 2岁85cm

3 6 2岁以后身高(cm)=年龄*7+70

4 6 头围(cm)

4 1 新生儿34  

4 2 6月42  

4 3 1周46  

4 4 2岁48  

4 5 5岁50    

4 6 15岁接近成人

5 3 胸围(cm)

5 1 初生<头2

5 2 1周持平

5 3 后超越头颅约等于小儿周数-1

6 2 婴儿需要

6 1 460kj/kg

6 2 需水150ml/kg.d

7 2 初乳

7 1 4天内

7 2 va1微4

8 2 母乳喂养优点

8 1 营养钙磷缓冲小

8 2 增免温经密产妇

9 2 婴幼儿活动规律

9 1 二抬四翻六会做

9 2 七滚八爬周会走

10 1 喂养次数

10 1 4月6次

11 3 疫苗禁忌

11 1 惊癫敏热染未期

11 2 慢脏化皮1月丙

11 3 迟缺哮乙溃伤忌

12 1 疫苗反应

12 1 中度都有5

13 1 肾上腺皮质激素

13 1 加重水痘

14 1 小儿补液疗法三定

14 1 量、时、性

15 2 输液三份

15 1 累、继、生

15 2 时段 8-12 12-16

16 3 等渗碱

16 1 1.4%nahco3

16 2 1.87%乳酸钠

16 3 均表现为1/6m

17 1  口服补液盐三份都有5

17 1 氯化钠0.35 碳酸氢钠0.25 枸橼酸钾 0.15

18 1 阻胆灰婴

18 1 磺k3高氯灰婴

19 4 混合溶液

19 1 2:1 等张含钠液 2份生理盐水+1份等渗碱

19 2 4:3:2液 2/3张

19 3 2:3:1液  1/2张 用

19 4 生理维持液 4份糖、盐水、并含0.15%kcl的混合液约1/3张,

20 2 使co2CP提高1mmom/L

20 1 5%nahco3 1.2ml/kg

20 2 11.2%乳酸钠0.7ml/kg

21 1 早产儿

21 1 <37

22 1 正常体重

22 1 2千54千

23 1 新生儿学

23 1 健生病防

24 1 生理性黄疸

24 1 都有2

25 1 早产儿存活的主要问题

25 1 缺氧呼衰

26 1 围生期小儿死残主因

26 1 窒息

27 2 新生儿窒息分度

27 1 皮肌心呼弹或插

27 2 青苍松3无0分

28 4 新生儿透明膜病

28 1 活缺附伊肺不张

28 2 呼促声绀细湿罗

28 3 氧氢低碳压高

28 4 肺亮低管充胃阴

29 1 新生儿感染性肺炎 前、中、后时间区分

29 1 24-48h

30 4 新生儿感染性肺炎

30 1 病体蔓窒逆血衣

30 2 枢肺肌免差易感

30 3 呼促声绀细湿罗

30 4 鼻凹不食吐呛奶

31 1 中度脱水补液量

31 1 120-150ml/kg

32 2 体表面积  

32 1 <30kg(m**2)=体重kg*0.035+0.1

32 2 >30kg(m**2)=(kg-30)*0.02+1.05

33 1 足月儿

33 1 3742

二 建立和存储到磁盘 本次程序将以上题目存入d盘sj文件夹下,取名为ek,txt文档。见程序甲,数据集a。

程序甲

data a;infile 'd:\sj\ek.txt';input n g x & $138.;run;

data b;set a end=obs_last;if obs_last=1;do i=1 to n;output;end;keep i;run;

proc sql;

create table wxq1638 as select *,normal(0) as w from b

order by calculated w;

data c;set wxq1638(obs=5);run;/*抽取题目数,请根据实际情况界定*/

proc sql;

create table wxq1688 as select * from c,a where n=i;/*将抽取的数字与数据集匹配*/

data d;set wxq1688;no+1;file '桌面\抽查.txt';put no g x $;run;

data e;set d;x1=normal(0);proc sort out=e2;by x1;run;

data f;set e2;keep x;file  '桌面\测试.txt';put x $;run;

三 提交“程序甲” 在桌面产生两个文件

<1> 文件“抽查”

1 6 头围(cm)

2 1 新生儿34

3 2 6月42

4 3 1周46

5 4 2岁48

6 5 5岁50

7 6 15岁接近成人

8 2 初乳

9 1 4天内

10 2 va1微4

11 1 喂养次数

12 1 4月6次

13 3 疫苗禁忌

14 1 惊癫敏热染未期

15 2 慢脏化皮1月丙

16 3 迟缺哮乙溃伤忌

17 1 阻胆灰婴

18 1 磺k3高氯灰婴

<2>文件“测试”内容 这个部分就是打乱的文件<1>

迟缺哮乙溃伤忌

阻胆灰婴

4月6次

新生儿34

1周46

慢脏化皮1月丙

2岁48

15岁接近成人

6月42

初乳

磺k3高氯灰婴

惊癫敏热染未期

4天内

va1微4

头围(cm)

疫苗禁忌

5岁50

喂养次数

只要把文件<2>前标上句子号,根<1>都对字符排序,便可根据句子号验证对误,最后对no复原性排序,

就可知道本次操作结果的正确程度。

程序乙

data a1;

input g1 g2 @@;

cards;

1 3 2 1 3 1 4 1 5 3

6 2 7 4 8 5 9 2 10 1

11 1 12 1 13 1 14 1 15 5

16 3 17 4 18 1

;

run;

data a;infile '桌面\测试.txt';input y & $138.;run;

data b1;merge a1 a;proc sort out=b;by y;run;

data c1;infile '桌面\抽查.txt';input no g x & $138.;proc sort out=c;by x;run;

data d;merge c b;if g2=g then good='√';if g2^=g then good= '×';proc sort out=e1;;by no;run;

data e2;set e1;if g2=g then g1=1;else g1=0;sumx+g1;d=sumx/no*100;run;

data e3;set e2 end=obs_last;if obs_last=1;keep d;run;

data f;merge e2 e3(rename=(d=df));drop g1 sumx d no y;proc print;run;

结果:

  SAS 系统               2009年08月08日 星期六 下午07时24分52秒   1

Obs   g    x                 g2    good       df

1    6    头围(cm)         5     ×     72.2222

2    1    新生儿34           1     √       .

3    2    6月42              2     √       .

4    3    1周46              3     √       .

5    4    2岁48              4     √       .

6    5    5岁50              4     ×       .

7    6    15岁接近成人       5     ×       .

8    2    初乳               1     ×       .

9    1    4天内              1     √       .

10    2    va1微4             1     ×       .

11    1    喂养次数           1     √       .

12    1    4月6次             1     √       .

13    3    疫苗禁忌           3     √       .

14    1    惊癫敏热染未期     1     √       .

15    2    慢脏化皮1月丙      2     √       .

16    3    迟缺哮乙溃伤忌     3     √       .

17    1    阻胆灰婴           1     √       .

18    1    磺k3高氯灰婴       1     √       .

当然,对于记忆力惊人的牛人,不必采用以上具有诱导性的程序。可以直接调用题干,然后zsas中默写后提交便可。

程序丙(由程序甲改造而来)

data a;infile 'd:\sj\ek.txt';input n g x & $138.;run;

data b;set a end=obs_last;if obs_last=1;do i=1 to n;output;end;keep i;run;

proc sql;

create table wxq1638 as select *,normal(0) as w from b

order by calculated w;

data c;set wxq1638(obs=5);run;/*抽取题目数*/

proc sql;

create table wxq1688 as select * from c,a where n=i;/*将抽取的数字与数据集匹配*/

data d;set wxq1688;no+1;z=dif(n);proc print;run;

data e1;set d;where z^=0;file '桌面\抽查.txt';put x $;run;

data e2;set d;where z=0;file  '桌面\测试.txt';put x $;run;

得到 “抽查”(题干)

年龄分期

初乳

使co2CP提高1mmom/L

新生儿学

新生儿感染性肺炎 前、中、后时间区分

得到“测试”(从题干下分离出来的内容,也就是需要记忆的部分)

胎新婴幼学龄青

4天内

va1微4

5%nahco3 1.2ml/kg

11.2%乳酸钠0.7ml/kg

健生病防

24-48h

程序丁(供牛人在sas中默写并提交的程序)

options ls=256;

data a;

input x & $256.;

cards;

胎新婴幼学龄青

4天内

5%nahco3 1.2ml/kg

11.2%乳酸钠0.7ml/kg

健康生病防

24-48h

;

run;

data b;

infile '桌面\测试.txt';input y & $138.;run;

data c;merge a b;if x=y then good='√';else good='×';if x=y then g=1;else g=0;sumx+1;sumg+g;d=sumg/sumx*100;

data d;set c end=obs_last;if obs_last=1;keep d;run;

data e;merge c d(rename=(d=df));keep x y good df;proc print;run;

结果2

                                                                              SAS 系统                                                                        2009年08月08日 星期六 下午08时43分01秒   1

                                                                              Obs    x                      y                      good       df

                                                                                1     胎新婴幼学龄青         胎新婴幼学龄青          √     28.5714

                                                                                2     4天内                  4天内                   √       .

                                                                                3     5%nahco3 1.2ml/kg      va1微4                  ×       .

                                                                                4     11.2%乳酸钠0.7ml/kg    5%nahco3 1.2ml/kg       ×       .

                                                                                5     健康生病防             11.2%乳酸钠0.7ml/kg     ×       .

                                                                                6     24-48h                 健生病防                ×       .

                                                                                7                            24-48h                  ×       .

鉴于sas的强大,其文本编辑可实现很多功能,比如还可以将每次正确、错误的记录输出到不同文件名中存储起来,凡是有用的信息都可以加以处理和利用,更重要的是其灵活性至今未见有其他统计学软件可以比拟。

注意!!!

严重警告的内容同前,不再赘述

详见 “http://www.pinggu.org/bbs/b68i392413p1.html”。

你的SAS是汉化的啊!为什么我的是英文的呢.现在在学9.1,是汉化的,却装的是英文的。



你上面说的到底想说什么啊
呵呵,能看懂笑权兄做的东西到也是一种本事。 [s:11]
很好的想法,有医生开始使用了吗?效果如何?