base SAS programming学习笔记11(functions)

news2024/9/20 6:24:18

1.SAS function 分类:

计算描述统计量的函数:

举例如下:avgscore=mean(exam1,exam2,exam3)

2.function 基本格式

function-name(argument1,argument2,......<argumentn>)

argument可以如下:变量名;常数,表达式(192/5,mean(22,24,26));变量列表(variable lists)或向量(arrays),只要前面有OF 即可。

如下:

mean(x1,x2,x3) 或者 mean(of x1-x3)

mean(of newarray{*})

mean(x1-x3),由于前面没有OF ,sas会计算X1减去X3的均值

3.INPUT 函数和PUT函数

        INPUT函数将字符变量转换成数值变量,基本格式如下:

        input(source,informat);

        source:可以是字符变量,常值,表达式可以转成数值;informat可以是数据的读入格式,即SAS存储的。

        PUT函数将数值变量转成数值变量,基本格式如下:

        put(source,format),此处用的是format即呈现给用户的格式,该format必须适用于source;source可以是数值变量、常值、表达式。put函数返回得字符宽度则为FORMAT格式的宽度。

4.DATE或DATETIME函数处理

        SAS存储日期以1960/01/01为起点计算日期,单位天,SAS存吃日期时间以1960/01/01:00:00:00计算时间,单位秒。所以在SAS存储是以数值形式存在,可以进行数学运算;SAS日期或时间函数如下:

WEEKDAY返回日期对应实际情况是:

a.INTCK (“interval”,from,to):(计算日期间隔)

interval是间隔标识,可以是字符常值或变量,取值如下:

from是计算间隔的开始时间,to是计算间隔的结束时间。值得注意的是间隔计算的是整数间隔,而比如计算MONTH 间隔,则计算从开始日期起到结束日期间间隔多少个 1号(DAY 1);WEEK间隔是两个日期间隔有多少个星期日;年份间隔(YEAR)是两个日期间隔有多少个1月1日。开始日期含有不算。

"ddmmmyy"d或者"ddmmmyyyy"d的形式就是日期常值。

b.INTNX("interval",start-from,increment<,alignment>):

计算当前日期增加指定间隔日期后的时间

INTERVAL取值同INTCK函数,见上节。

start-from 表示开始日期.

increment,表示增加的间隔数,为正数从开始日期往未来加,为负数从开始日期往过去加;

alignment,非必须,取值有B(开始),M(中间),E(结束),S(与开始日期同一天)

c.DATIF(start_date,end_date,basis)/YRDIF(start_date,end_date,basis)

分别计算两个日期的之间的天数和年数

BASIS取值如下:'30/360','ACT/ACT','ACT/360','ACT/365';

5.字符函数

a.SCAN 函数:scan(argument,n,delimiters)

argument:字符变量或相关表达式

n规定返回第几个单词

delimiters:分隔符,可以是多个不同的分隔符

scan函数默认的分隔符有:空格< ( + | & ! $ * ) ; ^ - / , %

如:scan(name,1,"  ,")

举例如下:

结果如下:

b.SUBSTR函数:提取或替换部分字符,substr(argument,positon,<n>)

argument:字符变量或表达式

position: 开始读取字符的位置

n:是提取字符的长度,如果n缺失,则剩余的所有的字符都读取;

提取字符举例如下:

替换字符举例如下:

c.trim函数:字符变量结尾的空格字符,trim(argument)

arugment:字符变量或者字符表达式

值得注意的是TRIM不会改变字符在数据集里面的存在形式,比如将一个字符变量用trim 删除空格后赋给新的变量,只要新的变量长度大于字符长度则会存在空格

d.catx:删除字符变量前面和尾部的空格,同时用分隔符将字符变量连接起来

catx(separator,string1<,.......stringn>)

separator:分隔符;

string:字符变量

举例如下:

d.index 函数:在字符变量中找到指导字符值的位置,返回找到字符值初始位置;未找到返回0。

index(source,excerpt)

source:是字符变量或者表达式

excerpt:是需要查找的字符值,用引号引用

index(job,"word processing")

e.find 函数:同index函数类似,在字符变量或字符串找到指定字符的位置,返回找到字符值的初始位置;未找到返回0;

find(string,substring<,modifiers><,startpos>)

string:字符变量或表达式或字符串,

substring:是待查找的字符串

modifiers:非必须,修饰符,取值有"i" 查找中忽略大小写,如果不定义的话在要求精准匹配,取值为"t”用法同trim函数删除string和substring的结尾空格,可以同时使用多个修饰符  用一组引号引用起来即可

startpos:非必须,其绝对值为找寻字符串的起始位置,如果为正数则从该位置从左往右,如果为负数则从该位置从右往左,默认从左往右。

 f.upcase(argument):字符大写;lowercase(argument):字符小写。

  propcase(argument<,delimiters>):将字符变量分隔符后首字母大写。

argument:可以是字符变量或者表达式

delimiters:分隔符,默认是空格,用引号引用,默认的分隔符有:空格,斜杠(/),括号,连字符(-),点值(.)和tab,用户自定义分隔符号默认的分隔符无用。

g.tranwrd(source,target,replacement):将字符替换成指定字符

source:字符变量或字符串

target:待替换的字符串,可以是字符变量

replacement:需要替换成的字符串,可以是字符变量

举例如下:

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

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

相关文章

新手小白的pytorch学习第三弹-------tensor的基本操作

reshape, view, stacking, squeeze(), unsqueeze(),permute()torch.tensor 和 numpy 的 array切片&#xff0c;张量里面获取元素值随机种子 1 导入torch import torch2 reshape() tensor_A torch.arange(1, 11) tensor_Atensor_A.reshape(2, 5) tensor_A.reshape(2, 5)tenso…

C语言 ——— 实用调试技巧(Visual Studio)

目录 Debug 和 Release 的区别 F10 --- 逐过程调试 & F11 --- 逐语句调试 F9 --- 新建/切换断点 & F5 --- 开始调试 shift F5 & ctrl F5 Debug 和 Release 的区别 Debug&#xff1a;通常为调试版本&#xff0c;它包含调试信息&#xff0c;并且不作任何优化…

Unity ColorSpace 之 【颜色空间】相关说明,以及【Linear】颜色校正 【Gamma】的简单整理

Unity ColorSpace 之 【颜色空间】相关说明&#xff0c;以及【Linear】颜色校正 【Gamma】的简单整理 目录 Unity ColorSpace 之 【颜色空间】相关说明&#xff0c;以及【Linear】颜色校正 【Gamma】的简单整理 一、简单介绍 二、在Unity中设置颜色空间 三、Unity中的Gamma…

Vortex GPGPU的硬件代码分析(Cache篇2)

文章目录 前言一、VX_cache.sv代码部分解读2——buffering/initialize1.1 core response buffering与VX_elastic_buffer模块解读1.1.1 VX_pipe_buffer模块解读1.1.1.1 一种握手信号的解释1.1.1.2 世界线收束——VX_pipe_buffer的核心代码解释1.1.1.3 VX_pipe_register模块解读与…

算法015:串联所有单词的子串

串联所有单词的子串. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/substring-with-concatenation-of-all-words/ 如果是第一次接触这个题目&#xff0c;接触滑动…

埋点系统如何统计用户的平均停留时长?

Hello&#xff0c;大家好&#xff0c;欢迎使用Webfunny前端监控和埋点系统。 今天&#xff0c;我们将介绍webfunny的埋点系统如何统计用户的平均停留时长 一、页面beforeLeave事件 当你页面离开的时候&#xff0c;会触发一个心跳检测&#xff0c;但是这个可能不是100%触发&am…

跳表的简单学习

跳表&#xff08;SkipList&#xff09;学习 1. 什么是跳表&#xff1f; 基于“空间换时间”思想&#xff0c;通过给链表建立索引&#xff0c;使得链表能够实现二分查找。 跳表是可以实现二分查找的有序链表。 2. 从单链表到跳表 对于一般的单链表&#xff0c;在其中进行查…

EasyCVR视频技术:城市电力抢险的“千里眼”,助力抢险可视化

随着城市化进程的加速和电力需求的不断增长&#xff0c;电力系统的稳定运行对于城市的正常运转至关重要。然而&#xff0c;自然灾害、设备故障等因素常常导致电力中断&#xff0c;给城市居民的生活和企业的生产带来严重影响。在这种情况下&#xff0c;快速、高效的电力抢险工作…

【PVE】新增2.5G网卡作为主网卡暨iperf测速流程

【PVE】新增2.5G网卡作为主网卡暨iperf测速流程 新增网卡 新增网卡的首先当然需要关闭PVE母机&#xff0c;把新网卡插上&#xff0c;我用淘宝遥现金搞了个红包&#xff0c;花了26元买了块SSU的2.5G网卡。说实话这个价位连散热片都没有&#xff0c;确实挺丐的。稍后测下速度看…

从零开始做题:segmentFlow

题目 解题 import string import binascii def Crack_4B(crc_list):print(-------------Start Crack CRC 4B-------------)#crc_list [0xc0a3a573, 0x3cb6ab1c, 0x85bb0ad4, 0xf4fde00b]#文件的CRC32值列表&#xff0c;注意顺序comment chars string.printableflag 0 for …

文心一言的流式接口数据进行处理 增加属性

需求&#xff1a;需要对文心一言的流式接口数据进行处理 增加属性 return ResponseEntity.ok().header("Access-Control-Allow-Origin", "*").contentType(org.springframework.http.MediaType.TEXT_EVENT_STREAM).cacheControl(org.springframework.http…

Leetcode3201. 找出有效子序列的最大长度 I

Every day a Leetcode 题目来源&#xff1a;3201. 找出有效子序列的最大长度 I 解法1&#xff1a;枚举 全奇数、全偶数、奇偶交替三种情况的最大值即为所求。 代码&#xff1a; /** lc appleetcode.cn id3201 langcpp** [3201] 找出有效子序列的最大长度 I*/// lc codesta…

imx6ull/linux应用编程学习(16)emqx ,mqtt创建连接mqtt.fx

在很多项目中都需要自己的私人服务器&#xff0c;以保证数据的隐私性&#xff0c;这里我用的是emqx。 1.进入emqx官网 EMQX&#xff1a;用于物联网、车联网和工业物联网的企业级 MQTT 平台 点击试用cloud 申请成功后可得&#xff1a;&#xff08;右边的忽略&#xff09; 进入…

【matlab】大数据基础与应用实例

目录 引言 线性回归模型 基本形式 最小二乘法 多元线性回归 线性回归的假设 模型评估 应用 独热编码 原理 应用场景 优点 缺点 数据收集 数据可视化 数据处理与分析 完整代码 引言 线性回归模型 线性回归模型是一种用于预测连续值输出&#xff08;或称为因变…

「iOS」暑假第一周 —— ZARA的仿写

暑假第一周 ZARA的仿写 文章目录 暑假第一周 ZARA的仿写写在前面viewDidLoad 之中的优先级添加自定义字体下载想要的字体添加至info之中找到字体名字并应用 添加应用图标和启动页面 写在前面 暑假第一周留校学习&#xff0c;对于ZARA进行了仿写&#xff0c;在仿写的过程之中&a…

WPF学习(2) -- 样式基础

一、代码 <Window x:Class"学习.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend/2008&…

计算机网络之网络互连

1.什么是网络互连 1.1网络互连的目的 将两个或者两个以上具有独立自治能力的计算机网络连接起来&#xff0c;实现数据流通&#xff0c;扩大资源共享范围&#xff0c;或者容纳更多用户。 网络互连包括&#xff1a; 同构网络、异构网络的互连&#xff0c; 局域网与局域网&…

【操作系统】文件管理——文件管理基础、文件的逻辑结构和目录结构(个人笔记)

学习日期&#xff1a;2024.7.14 内容摘要&#xff1a;文件管理基础、文件的逻辑结构、文件目录 文件管理基础 引言 文件是一组有意义的信息/数据的集合&#xff0c;计算机中存放着各种各样的文件&#xff0c;一个文件有哪些属性&#xff1f; 操作系统应该向上层的应用程序提…

网络 闲聊

闲谈 闲话 网络安全——>网络空间安全 网络空间&#xff1a;一个由信息基础设备组成互相依赖的网络 继&#xff1a;海、陆、空、天、的第五大空间 信息安全的一个发展&#xff1a; 通信保密阶段---计算机安全---信息系统安全---网络空间安全 棱镜门事件 棱镜计划&…

leetcode日记(38)字母异位词分组

最开始的想法是创建vector<vector<string>> result&#xff0c;然后遍历strs中字符串&#xff0c;遍历result中vector&#xff0c;比较vector中第一个string和strs中string&#xff0c;若为字母异位词&#xff0c;则加入vector&#xff0c;若无&#xff0c;则创建新…