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

news2025/1/31 2:50:12

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循环结束,整个数据输入才是最终结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/433538.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录_二叉树_leetcode105 106

leetcode105. 从前序与中序遍历序列构造二叉树 105. 从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 示例 1: 输入…

android sdl编译

SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台。 1 下载SDL源码 http://www.libsd…

后缀数组的应用:最长公共子串

题目描述 假设 str1 长度为 N N N,str2 长度为 M M M,求 str1 和 str2 的最长公共子串。 思路分析 示例:str1 “12abcd456”, str2 “7abcd89”,则str1和str2的最长公共子串为 abcd。 注意,子串是连续的。 动…

二叉搜索树专题

二叉搜索树专题 特性篇LeetCode 230. 二叉搜索树中第K小的元素解题思路代码实现LeetCode 538. 把二叉搜索树转换为累加树解题思路代码实现 基操篇LeetCode 98. 验证二叉搜索树解题思路代码实现LeetCode 700. 二叉搜索树中的搜索代码实现LeetCode 701. 二叉搜索树中的插入操作解…

总结826

学习目标: 4月(复习完高数18讲内容,背诵21篇短文,熟词僻义300词基础词) 学习内容: 高等数学:复习12讲二元积分,第12讲习题,做了17道题 英语:早上背单词&am…

CAXA 3D 实体设计2020 caxa电子图板2020 64位/32位 详细安装方法

CAXA实体设计2016是国内软件公司根据美国最新的专利技术和多年在CAD/CAM领域积累的经验打造的专业3D模型设计软件,具有国际先进水平,支持创新模式和工程模式。创新模式将可视化自由设计与精准设计相结合,使产品设计跨越了传统参数化CAD软件的…

PHP项目——外卖点餐系统后台管理解析

项目介绍 系统基于总部多门店的连锁模式,拥有门店独立管理后台,支持总部定价和门店定价、LBS定位点餐,可堂食可外卖,适用于茶饮的外卖点餐场景,搭建自己的一点点、奈雪、喜茶点餐系统。 平台后台 1.商品 对门店总商…

取消调休?这个公司好像知道员工要什么...

今年的五一小长假3天变5天,比以往多2天,但是为了多出来的这两天,前一个周末的周日,也就是本周的周日4月23日,要正常上班一天。 五一回来后的5月6日,也就是回来后的那个周六,也要上班&#xff0…

无线蓝牙耳机哪款音质好?目前音质最好的无线蓝牙耳机推荐

现如今,蓝牙耳机已经是一个非常实用且常见的数码产品了,不少人喜欢戴着蓝牙耳机听歌,玩游戏。一款音质好的蓝牙耳机不止能听个响,还能给人极致的听觉享受。在此,我来给大家分享几款目前音质最好的无线蓝牙耳机&#xf…

命令执行漏洞概述

命令执行漏洞概述 命令执行定义命令执行条件命令执行成因命令执行漏洞带来的危害远程命令执行漏洞相关函数assert()preg_replace()call_user_func() a ( a( a(b)可变函数远程命令执行漏洞的利用系统命令执行漏洞相关函数system()exec()shell_exec()passthru(&#x…

网络请求实战-实战Fetch和Promise相关的架构

目录 Promise神器(承诺) PromiseCoding示例 Promise常见用法 简单的promise Fetch的基本用法 fetch Fetch基本用法 FetchPromise场景举例 小结 Promise神器(承诺) PromiseCoding示例 代表异步求值的过程和结果 promise…

搭建Spark Standalone集群

文章目录 一,Spark Standalone架构(一)client提交方式(二)cluster提交方式 二,Spark集群拓扑三,前提条件:安装配置了分布式Hadoop环境四,在master虚拟机上安装配置Spark&…

SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈(nacos)

Nacos注册中心 (一)认识和安装Nacos 1、认识Nacos 2、安装nacos 这里下载1.4.1版本 默认端口是8848 下载解压后,终端进入到nacos/bin下,bash startup.sh -m standalone 然后查看start.out文件得到一个网址就可以查看nacos的服…

《Android 移动应用基础教程(Android Studio)(第2版)》【课本习题】【学习通2023春PDF】【参考答案】

文章目录 超星学习通智能终端软件开发(基于Android Studio环境)章节作业(39)第一章第二章 Android常见界面布局第三章 Android常见界面控件第四章第五章第六章(略)第七章第八章第九章第十章第十一章第十二章…

ChatGPT常见问题,Access denied的解决办法

今天,突然想登录一登录ChatGPT,提示 Access denied, You do not have access to chat.openai.com 怎么办? “Access denied You do not have access to chat.openai.com. The site owner may have set restrictions that prevent you from ac…

leetcode142. 环形链表 II

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数…

vue3+electron开发桌面软件(7)——修改注册表,创建级联菜单

系列文章目录 系列第一篇: vue3electron开发桌面软件入门与实战(0)——创建electron应用 文章目录 系列文章目录前言一、创建右键级联菜单二、了解注册表结构1.手动添加注册表——一级菜单2.手动添加注册表——二级菜单父菜单3.手动添加注册…

IC-14W网络IC卡读写器_银河麒麟桌面操作系统V10适配测试报告

银河麒麟操作系统产品NeoCertify 认证测试报告 系统版本:银河麒麟桌面操作系统V10 厂商名称: 广州荣士电子有限公司 认证产品:IC-14W网络IC卡读写器 测试日期: 2022-11-04 …

基于SVG的HMI组件

人机界面是自动化领域不可或缺重要组成部分。人机界面系统的设计看上去并没有太大的技术门槛,但是设计一个HMI系统的工作量是巨大的,如果你没有足够的耐心和精力是难以完成一个通用HMI系统的。构建UI控件库就是一个似乎永远完不成的事情,用户…

12.基于蒙特卡洛抽样的电动汽车充电负荷计算

说明书 MATLAB代码:基于蒙特卡洛抽样的电动汽车充电负荷计算 关键词:电动汽车 蒙特卡洛模拟 抽样 充放电负荷 参考文档:《主动配电网多源协同运行优化研究_乔珊》第3.2节,完全复现 仿真平台:MATLAB 优势&#xf…