SAS学习第3章:试验数据处理的心决

sas中数据的输入格式一般分为2种,一种是直接输入,另一种是循环输入。input 后跟几个变量名,数据卡cards就要据此逐次处理,且一定是倍数关系。

1.直接输入在自变量及数据较少的情况下较好使用。

例:

甲、乙、丙三个奶牛场高产奶牛、低产奶牛、低产奶牛头数统计如下,试问三个奶牛场高、中、低产奶牛的构成比是否有差异。

场  地

高产奶牛

中产奶牛

低产奶牛

32

15

18

28

26

10

11

38

16

data cow;
input a b c@@;
cards;
1 1 32 1 2 15 1 3 18
2 1 28 2 2 26 2 3 10
3 1 11 3 2 38 3 3 16
;
proc freq;
table a*b/chisq;
weight c;
run;

该程序将a视作场地类型,将b视作奶牛种类,将c视作奶牛个体数量。

input使用了 a b c,则数据卡cards内的数据必须严格按照a b c a b c……这样的数据进行布置。

此外,换行虽然对程序无影响,但是可以更美观,减少输错数据的可能。

2.循环输入在自变量及数据较多且数据长短一致的情况下较好使用。

例:

从7名健康人体中抽取血样,每个受试者的血样分成4份,然后随机地将4份血样分别放置10、20、30、40 min测定其血糖浓度,资料如下表。试检验不同受试者和放置不同时间的血糖浓度有无显著差异。

不同受试者、放置不同时间血滤液的血糖浓度(mg/100ml)

受试者编号

放置时间(min)

10

20

30

40

1

95

95

89

83

2

95

94

88

84

3

106

105

97

90

4

98

97

95

90

5

102

98

97

88

6

112

112

101

94

7

105

103

97

88

如果用直接输入,则数据卡输入过长:

data xxxx;
input a b c@@;
cards;
1 1 95 1 2 95 1 3 89 1 4 83
2 1 95 2 2 94 2 3 88 2 4 84
3 1 106 3 2 105 3 3 97 3 4 90
4 1 98 4 2 97 4 3 95 4 4 90
5 1 102 5 2 98 5 3 97 5 4 88
6 1 112 6 2 112 6 3 101 6 4 94
7 1 105 7 2 103 7 3 97 7 4 88
;
proc anova;
class a b;
model c=a b;
means a b/snk;
means a b/snk alpha=0.01;
run;

此时用do ……end;启动循环输入效率更高。

data bs;
do a=1 to 7;
do b=1 to 4;
input c@@;
output;
end;
end;
cards;
95 95 89 83
95 94 88 84
106 105 97 90
98 97 95 90
102 98 97 88
112 112 101 94
105 103 97 88
;
proc anova;
class a b;
model c=a b;
means a b/snk;
means a b/snk alpha=0.01;
run;

do a=1 to 7;表明, a变量从1到7共有7个种类(对应7位受试者编号)

do b=1 to 4;表明,b变量从1到4共有4个种类(对应4种放置时间)

在循环输入中,input后必须紧紧跟着output;

output指的是将循环输入的数据放入数据卡cards内,缺少此句一定有误。

output后根据do的数量补上end;的数量,end表示一个循环结束。【前面有2个do语句,后面必须加上几个end语句,不然循环不算结束】

do a=1 to 7;do a在前,对应了最后一个end;

do b=1 to 4; do b 在后,对应第一个end;

使用缩进可以看的更加清楚:

data bs;
do a=1 to 7;
  do b=1 to 4;
    input c@@;
    output;
  end;
end;

循环的逻辑是:

1:声明a从1到7,a的循环最开始是a=1,

2:声明b从1到4,b的循环最开始b=1 ;

3:input c,输入一个数据c ;即a=1 b=1 时c的值;

4:output;将当前所处循环的位置加到数据卡cards内,即cards内第一个数c【即 a=1 b=1 时c=95】

5:因为离input最近的do b……循环未结束, 所以将b=1自动加1,变为b=2;

6:input c,输入一个数据c ;即a=1 b=2 时c的值;

7:output;将当前所处循环的位置加到数据卡cards内,即cards内第一个数c【即 a=1 b=2 时c=95】

……

当b=4运行完时,离input最近的do b……循环结束,但其仍处于do a……循环中,a=1变为a=2,此时b重新从1算起,即b=1,input c指的是【a=2 b=1时 c=95】

……

直到a循环结束,整个数据输入才是最终结束。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个试题涉及到使用SAS数据分析工具来评价试验药对糖尿病的治疗安全性和有效性。首先,我们需要收集糖尿病患者的相关数据,包括患者的年龄、性别、体重、血压等基本信息,以及其他可能影响治疗效果的因素,如患者的生活习惯、遗传背景等。 然后,我们可以使用SAS数据分析工具对收集到的数据进行清洗和整理,以确保数据的准确性和完整性。接下来,我们可以使用SAS进行统计分析和建模。对于安全性评价,我们可以使用生存分析模型或逻辑回归模型来评估试验药物对患者的安全性。对于有效性评价,我们可以使用线性回归模型或混合效应模型来评估试验药物对疾病的治疗效果。 在进行统计分析模型之前,我们可以使用探索性数据分析方法,如数据可视化和描述性统计分析,来了解数据的特点和分布情况。这有助于我们了解数据的整体情况,找到任何异常值或缺失值,并做出适当的处理。 在评估安全性和有效性时,我们需要根据模型的结果对试验药物的效果进行解释。在解释结果时,我们需要考虑到可能的潜在偏差,如混杂因素或信息偏倚。我们可以使用适当的假设检验和置信区间来评估结果的显著性,并对结果的可靠性进行估计。 最后,我们可以根据评估结果来得出结论,评价试验药对糖尿病的治疗安全性和有效性。如果试验药物被证明是安全有效的,我们可以进一步研究如何应用这种药物来改善糖尿病患者的生活质量和健康状况。如果试验药物表现出潜在的安全问题或不具备治疗效果,我们可以考虑其他的治疗选择或持续研究以改进治疗方案。 总之,使用SAS数据分析工具评价试验药对糖尿病的安全性和有效性是一项复杂而关键的工作,需要严谨的数据处理统计分析,以及对结果的合理解释和结论。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值