首页 > 其他分享 >计算物理基础【7】

计算物理基础【7】

时间:2024-11-11 20:46:30浏览次数:6  
标签:库中 mylib 示例 基础 计算 SAS 日志 data 物理

文章目录

sas

在SAS(Statistical Analysis System)软件中,“库”(Library)

是一个逻辑文件系统,用于管理和组织SAS数据集、视图、格式等文件。在SAS中,库是一个重要的概念,帮助用户将数据进行有效的分类和访问。以下是SAS库的主要特性和用法。

1. 什么是SAS库

在SAS中,库(Library)是一个存储SAS文件的目录。每个库都分配一个库引用名(libref),该引用名用于标识库中的数据集和文件。

例如,libref.dataset_name表示SAS库中的一个数据集。

2. 创建SAS库

在SAS中,可以使用LIBNAME语句来定义和创建一个库。可以将库映射到特定的文件路径(通常是存储在硬盘中的目录)。

LIBNAME mylib 'C:\mydata';

在上述代码中,mylib是库引用名,'C:\mydata'是文件夹路径。这意味着库中的所有数据集将存储在C:\mydata目录下。定义库后,可以通过库引用名来访问该目录中的数据集。

3. SAS库的类型

SAS库可以分为以下几种类型:

  • 临时库(WORK)WORK库是SAS默认的临时库,用于存储会话期间创建的临时数据集。会话结束时,WORK库中的数据会被自动删除。

  • 永久库:用户创建的永久库会保存在指定的文件目录中(如C:\mydata),即使SAS会话结束后,数据仍然存在。

  • 内置库

    • SASHELP:包含SAS自带的示例数据集和视图,用户可以直接引用。
    • SASUSER:存储用户的偏好设置和一些默认配置文件。

4. 使用SAS库中的数据集

在SAS中,可以通过指定库引用名来访问库中的数据集。例如:

LIBNAME mylib 'C:\mydata';

data mylib.new_data;
    set sashelp.class;
run;

上述代码将SASHELP库中的class数据集复制到用户创建的mylib库中,命名为new_data

5. 删除SAS库

要删除库中的数据集或整个库,可以使用PROC DATASETS语句来执行。要注意的是,如果删除库引用名,实际上不会删除实际的目录文件。

LIBNAME mylib 'C:\mydata';

PROC DATASETS LIBRARY=mylib;
    DELETE new_data;
QUIT;

LIBNAME mylib CLEAR;
  • 删除数据集:使用DELETE语句删除库中的特定数据集。
  • 删除库引用:使用LIBNAME libref CLEAR命令解除库引用。

6. 示例:访问和操作SAS库

以下是一个完整的示例,展示如何创建、访问、删除SAS库中的数据集。

/* 定义库引用 */
LIBNAME mylib 'C:\mydata';

/* 创建数据集 */
data mylib.students;
    input Name $ Age Height Weight;
    datalines;
    John 16 65 120
    Jane 15 61 110
    ;
run;

/* 访问数据集 */
proc print data=mylib.students;
run;

/* 删除数据集 */
proc datasets library=mylib;
    delete students;
quit;

/* 清除库引用 */
libname mylib clear;

7. 总结

  • 库引用名(libref):用于标识SAS库,便于在程序中引用。
  • LIBNAME语句:用于定义和访问SAS库。
  • 数据的永久性WORK库用于临时存储,永久库用于长期存储。
  • PROC DATASETS管理库:可以删除数据集和管理库文件。

通过使用SAS库,可以更好地组织数据集,实现数据的持久化管理。

在SAS中,日志(Log)窗口

是用于显示SAS程序执行信息的重要部分,包括执行的语句、错误信息、警告、提示和处理时间等。日志窗口对于调试和优化SAS代码非常有帮助,可以帮助用户识别和修正错误。以下是SAS日志的主要内容和常见的使用场景。

1. 日志窗口的内容

在SAS日志窗口中,通常会显示以下几类信息:

  • 程序语句:显示用户编写的SAS语句。
  • 错误信息(ERROR):红色文本,标识代码中的语法或逻辑错误。
  • 警告信息(WARNING):绿色文本,指出潜在的问题或不符合预期的操作,通常不影响代码的执行,但需要用户关注。
  • 注释信息(NOTE):蓝色文本,用于说明SAS的处理结果,例如数据集的大小、变量信息等。

2. 查看SAS日志窗口

SAS日志窗口通常可以在SAS界面中直接打开。执行程序后,日志会自动更新,用户可以在日志窗口中查看程序的执行情况。

如果使用SAS Studio,日志会在“Log”选项卡中显示;如果使用SAS Display Manager,日志会显示在主窗口中的“Log”选项卡中。

3. 常见的日志信息

正常的执行日志示例

以下是一个正常执行的日志示例:

data test;
    set sashelp.class;
run;

proc print data=test;
run;

日志输出:

NOTE: There were 19 observations read from the data set SASHELP.CLASS.
NOTE: The data set WORK.TEST has 19 observations and 5 variables.
NOTE: PROCEDURE PRINT used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds

在这个日志中,NOTE部分显示了数据集读取的记录数和变量信息。

错误信息(ERROR)

错误信息通常以ERROR:开头,表示代码中出现的语法错误或其他问题。以下是一个常见的错误日志示例:

data test;
    set sashelp.clas;  /* 注意此处拼写错误 */
run;

日志输出:

ERROR: File SASHELP.CLAS.DATA does not exist.

此错误信息提示SASHELP.CLAS数据集不存在,可能是拼写错误造成的。

警告信息(WARNING)

警告信息以WARNING:开头,通常表示代码中潜在的问题或不规范的操作,但程序仍然可以继续运行。

data test;
    set sashelp.class;
    if age > 20 then output;
run;

日志输出:

WARNING: No observations in data set WORK.TEST.

这个警告提示数据集WORK.TEST中没有任何符合条件的观测值。

注释信息(NOTE)

NOTE:信息用于显示SAS程序的执行状态和结果。常见的注释信息包括数据集的记录数、变量数量、执行时间等。

4. 提取特定的日志信息

在SAS中,可以使用选项来控制日志的详细程度,并筛选出特定的日志信息:

  • ERRORS=选项:限制日志中显示的错误条目数量。
  • NODATENONOTESNOWARNINGS选项:控制是否在日志中显示日期、注释信息和警告信息。
options errors=5 nodate nonotes;

在此示例中,ERRORS=5限制错误显示条目数为5个,NODATE取消日期显示,NONOTES取消注释信息显示。

5. 日志的保存

可以将SAS日志保存为文本文件或其他文件格式,以便日后查看或分享。可以使用以下语句将日志输出到指定文件:

proc printto log='C:\log_output.txt';
run;

data test;
    set sashelp.class;
run;

proc printto; /* 关闭日志输出 */
run;

在此示例中,日志会保存到C:\log_output.txt文件中。

6. 示例:调试SAS代码

以下是一个包含错误的示例代码,通过查看日志可以快速定位问题。

data new_data;
    set sashelp.classs; /* 注意此处拼写错误 */
    if Age > 14 then output;
run;

执行后,日志显示以下错误信息:

ERROR: File SASHELP.CLASSS.DATA does not exist.

通过查看日志,可以快速发现拼写错误,并修正为正确的set sashelp.class

7. 总结

  • SAS日志窗口:用于显示程序执行信息,包括语句、错误、警告和注释。
  • 错误和警告:帮助用户识别语法错误和潜在问题。
  • 注释信息:提供数据集的结构和处理时间等信息。
  • 保存日志:可以将日志保存为文件,用于日后调试和参考。

SAS日志是诊断和优化代码的关键工具,学习解读日志信息对于编写和调试SAS程序非常重要。

参考文献

  1. chatgpt

标签:库中,mylib,示例,基础,计算,SAS,日志,data,物理
From: https://blog.csdn.net/sakura_sea/article/details/143694934

相关文章

  • 现代IT基础设施管理(1):Terraform初识和小试牛刀
    基础设施包括各种云,像国内的阿里云、腾讯云和华为云,国外的AWS、微软Azure云和谷歌云,还有Kubernetes和OpenStack,都可以用Terraform进行资源管理。使用基础设施即代码(InfrastructureasCode,IaC)的方式来管理基础设施,这是现代IT基础设施管理的一个重要趋势,它允许我们以代码的形式定......
  • 一个实用的脚本 [Bash 数组基础]
     ###Bash数组基础在Bash中,数组是一种可以存储多个值的数据结构。数组的每个元素都有一个索引,从0开始。例如,假设我们有一个数组:```bashtask_ids=("task1""task2""task3")```###获取数组的所有索引`${!task_ids[@]}`语法用于获取数组`task_ids`的所有索引。具体......
  • 深入计算机语言之C++:STL之string的认识与使用
    ......
  • Linux硬盘挂载与磁盘分区基础(一)(主分区、拓展分区、逻辑分区)
      我们常用windows时,会区分C盘、D盘之类的(A、B盘是软盘)就是所谓的分区,这么做为了方便数据管理,比如扩容之类的。  本文采用Linux(Ubuntu20.04)来介绍分区,其它Linux系统基本一样的。  首先,我们需要熟悉几个概念:  硬盘:存储数据用的硬件,比如移动硬盘、固态硬盘、U盘等,有了硬......
  • 数学与统计计算:Python math 与 statistics库基础教程
    数学与统计计算:Pythonmath与statistics库基础教程在数据分析、机器学习和科学计算中,数学和统计学是两个至关重要的基础。Python提供了强大的内置库math和statistics,可以帮助我们快速、方便地完成常见的数学和统计计算。本篇博客将介绍math和statistics库中的基......
  • 【SpringMVC】基础入门实战(3)
     阿华代码,不是逆风,就是我疯你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!!目录一:实践1:获取header(1)普通方法 (2)简洁方法获取Header2:返回静态页面(1)返回静态页面失败(2)Controller(3)@RestController和@Controller关联3:返回数据@ResponseBody4:返回HTM......
  • 2024年全国高校计算机能力挑战赛C语言计算机能力挑战赛赛前模拟
    2024年全国高校计算机能力挑战赛C语言计算机能力挑战赛赛前模拟18拉手游戏某个班级共n(2<n<100)人玩报数游戏,同学们最初手拉手围成一圈。小明最开始站在第m(0<m<n)个位置,现在从圈内第一个位置开始报数,但凡报到3就退出圈子,问小明是第几个退出圈子的人?输入格式:一行输入两个......
  • (水下)目标检测/深度学习/计算机视觉国内外知名课题组
    大方向:目标检测、深度学习、计算机视觉国内课题组:1、港中文MMdetection课题组-号称计算机视觉界的黄埔军校香港中文大学的MMDetection课题组是隶属于香港中文大学多媒体实验室(multimedialaboratory,theChineseUniversityofHongKong)的一个重要研究团队。该多媒体实验......
  • 部署神经网络时计算图的优化方法
    部署神经网络时计算图的优化方法部署神经网络时,各路框架基本都会把神经网络的计算建模为一个(有向无环的)计算图,之后再对这个计算图进行优化,包括硬件相关的优化和硬件无关的优化。本文介绍几种部署神经网络时计算图的优化方法,帮助读者在部署神经网络时理解部署工具都干了些什......
  • Python基础(1):初识python、环境配置、数据类型、循环语句
    简介:python是一个解释性、编译性、互动性和面向对象的脚本语言python是一种解释性语言:开发过程中没有了编译环节python是一种交互式语言:意味着可以在cmd窗口输入python,>>>后直接执行代码Python是面向对象的语言:意味着python支持面向对象的风格或代码封装在对象的编程技......