首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SAS-坐标实现

今天小编打算分享SAS中坐标(axistable)实现及常见用法。 生存分析图 一年前,小编分享了一篇SAS-生存曲线绘制......,今天这篇可以看做是前文续篇,今天主要分享axistable实现,当然也和生存曲线密不可分,在临床统计编程中,axistable应用最多地方也是生存曲线。...所谓坐标(axistable),就是上图中No.at risk以下部分。每一个刻度值都对应这相应结果。...innermargin 至于innermargin方法,也是SASHELP中很容易找到例子。见下图,是使用innermargin方法。 ? 它会在坐标轴内生成坐标,不能放在坐标轴外。...如果要实现坐标轴外的话,得用拼图方式。 ? 拼图 GTL绘制拼图也是比较常见,如个体CT等。下面来看看生存分析中GTL如何实现拼图绘制。 ? 如上,即可实现与axistable等价效果。

2.8K00

SAS-交叉自动输出

今天小编打算给大家分享一下SAS实现交叉自动输出,交叉是临床试验编程中非常常见一种表格类型,实现起来程序也还是比较简单。...交叉 什么样是交叉呢,下面小编分享几个简单交叉例子。 ? 横向 ? 纵向 嗯,上面俩种样式交叉也就是今天小编要分享主要内容。程序实现原理大致是这样。...首先创建一个框架,也就是利用基线和疗后变量选项值进行一个排列组合,目的是便于后面使用proc transpose进行转置时,避免结果不全。...小编此处采用data Step中do循环及output语句实现。 ? ▲创建框架 ? 在创建完框架数据集后,对待分析数据集进行处理,根据输入变量进行自动衍生数值型组别变量,判断缺失值是否填补。...对转置后数据集进行处理,最终生成如下结果。 ? ▲并入、转换 ? 程序到这里,其实大体就结束了,后面的内容就是在此结果下,自动处理生成想要表格结构。 ?

2.8K53
您找到你想要的搜索结果了吗?
是的
没有找到

SAS中哈希连接问题

哈希即散列表(Hash table),是根据关键码值(Key value)而直接进行访问数据结构。也就是说,它通过把关键码值映射到中一个位置来访问记录,以加快查找速度。...在SAS中使用哈希十分简单,你并不需要知道SAS内部是怎么实现,只需要知道哈希是存储在内存中,查找是根据key值直接获得存储地址精确匹配。...加上使用哈希合并数据集时不用排序优点,在实际应用中可以极大提高程序运行效率,尤其是数据集较大时候。但是由于哈希是放到内存中,因此对内存有一定要求!...BurlewSAS® Hash Object Programming Made Easy》一书有这样一段话: While it may seem counterintuitive, it may...另外,我们还会碰到多个数据集用哈希进行合并情况,如果KEY是同一个变量,那么任意放N-1个数据集放到哈希中,直接用以下语句即可实现: if h1.find()=0 and h2.find()=0

2.3K20

SAS获取某目录下所有指定类型文件名称

今天看到一个群友提一个问题:SAS中如何简单地获取某一目录下所有指定类型文件名称并赋值为宏变量?...用常规方法可能要20多行代码,如果用FILENAME PIPE只需要9行代码就可以轻松解决,语法如下: FILENAME fileref PIPE 'UNIX-command' ;filerefis...the name by which you reference the pipe from SAS.PIPEidentifies the device-type as a UNIX pipe.'...*$##是用来去掉文件后缀;命令paste,顾名思义就是将几个文件连接起来;选项-s作用是将每个文件作为一个处理单元;选项-d作用是用来设定间隔符。....*$##' | awk 'ORS=""|""'"; 不过这个命令有一个小问题,就是在最后会多出一个间隔符,需要在后续DATA步中处理一下。

4.5K20

批量改变SAS数据集字符型变量长度

临床试验SAS程序猿/媛都知道,FDA对所提交数据集大小是有限定,因为数据集过大在操作时会有点麻烦(比如打开会很慢),所以当我们生成最终数据集时就要进行一个操作:按照字符型变量最大长度来重新定义变量长度...这个数据集,而是用了视图SASHELP.VTABLE,这是为了说明另一个问题:SASHELP.VTABLE虽然可以直接在DATA步中使用,但是不建议使用,因为在我们使用这个视图时SAS后台执行视图操作并没有优化...这些都会大大影响程序运行效率,故建议使用数据字典,原因在SAS在线文档中有说明,搬运如下: When querying a DICTIONARY table, SAS launches a discovery..._all_ memtype=data; run; /*数据集变量列表 proc contents data=&mlib..cd out=varlist; run; */ /*FILENAME PIPE...*/ filename raw pipe "ls &_meta.*.sas7bdat | sed 's/.*\/\(.*\)\.sas7bdat/\1/'"; /*结果为单行命令:"echo `ls

2.7K30

SAS-2X2,率差输出...

这篇接着上一篇说(SAS-可信区间输出...),率差输出...为啥要分开呢,因为这样不就是显得小编勤奋高频输出吗... ? 真的是感觉太久没打理公众号,现在打算好好打理一段时间了 ?...可以输出可信区间,同样也可以输出率差,这里率差是2*2率差,同样也是一个参数来控制。 计算试验组与对照组发生不良事件率差 数据还是沿用上一篇推送(如下) ?...这个就得从2*2输出结构以及率差计算方式(第一行-第二行)来说了。先来看看下面的图: ? ?...如果是AEYN*GROUP计算就是“否”-“是”之间率差了,而不是对照组与试验组了,所以呀,这个变量先后顺序还是值得注意。...总结一下,率差输出需要注意俩点,一个是变量顺序,一个是变量水平顺序。选对顺序就不会错了。

2.8K30

webpack 中比较难懂几个变量名称

webpack中有几个比较难懂变量名称,主要是做一个总结性概括。 webpack 中,module,chunk 和 bundle 区别是什么? ?...会根据文件引用关系生成 chunk 文件,webpack 会对这个 chunk 文件进行一些操作; webpack 处理好 chunk 文件后,最后会输出 bundle 文件,这个 bundle 文件包含了经过加载和编译最终源文件...chunkFilename hunkFilename 指未被列在 entry 中,却又需要被打包出来 chunk 文件名称。一般来说,这个 chunk 文件指就是要懒加载代码。...一句话总结: filename 指列在 entry 中,打包后输出文件名称。...chunkFilename 指未列在 entry 中,却又需要被打包出来文件名称 3.webpackPrefetch、webpackPreload 和 webpackChunkName 到底是干什么

1.8K10

MySQL中 如何查询名中包含某字段

information_schema.tables 指数据库中(information_schema.columns 指列) table_schema 指数据库名称 table_type 指是类型...(base table 指基本,不包含系统) table_name 指具体名 如查询work_ad数据库中是否存在包含”user”关键字数据 select table_name from...information_schema.tables where table_type=’base table’ and table_name like ‘%_copy’; 在Informix数据库中,如何查询名中包含某字段...table_schema from information_schema.tables where table_schema = ‘test’ group by table_schema; mysql中查询到包含该字段所有名...SELECT TABLE_NAME FROM information_schema.COLUMNS WHERE COLUMN_NAME='字段名' 如:查询包含status 字段数据名 select

12.3K40

SAS-如何找出数据集超长变量及观测,并自动进行变量拆分...

前段时间有人给小编提了一个需求,找出数据集中长度超过200字节变量,并对变量进行拆分...这个需求当然不难,但是还是分享给大家~主要最近没写啥程序,也就没学到啥新技能...关于变量长度拆分,我想也是一个常见问题...实现步骤基本上就是这样了,然后就进行细节填充。细节填充就是SAS程序进行各步骤实现,接下来看看小编实现方法.. 写这个程序时候,我开始打算开放好几个宏参数......获取数据集变量名,变量类型,变量长度等数据集属性等......然后将这个数据集merge到总数据结构数据集中 这一步操作是为了retain变量在数据集中出现顺序号 因为我后面还会在set数据集前length变量长度,会修改变量出现顺序 同事衍生变量时候新生成变量一般都在最后...domain=upcase("&memname."); var=substr(_name_,5); drop _name_; if col1 in (0 1); run; /*获取多余变量名称

3.5K31

SAS-一个小程序实现变量类型自动转化~

这个程序实现功能是将SAS数据集中数值型变量转换成字符型变量,如果变量含有format,这时会将显示format值直接赋值给新变量。 一个小功能 写这个宏功能与目的是啥呢。...所以我就写了这个小程序, 基本一点技术含量都没有,就用了sql定义宏变量方式,然后一个vvalue函数,最近感觉爱上这个函数了...下面看代码 /***************************...********************************************************************************************** 宏名称...: ds_var2char 目的 : 将数值型变量/提取format值 参数说明 : inds 输入数据集 outds 输出数据集 length...长度 : 默认值2500 type 1:数据集第一条观测为变量标签 2:数据集第一条观测为变量名称 3:数据集第一条观测为变量标签、数据集第二条观测为变量名称 0:数据集不包含变量相关信息

1.1K20

使用VBA在工作中列出所有定义名称

然而,如果名称太多,虽然有名称管理器,可能名称命名也有清晰含义,但查阅起来仍然不是很方便,特别是想要知道名称引用区域时,如果经常要打开名称管理器查找命名区域,会非常麻烦,也浪费时间。...下面是一段简单代码,它将列出工作簿中所有定义名称,并显示名称所指向单元格区域。...Sub NamesList() Dim wks As Worksheet Dim nm As Name '可以修改为你想置名称和引用区域工作 Set wks = Sheet1...("A" & Rows.Count).End(xlUp)(2) = nm.Name '在列B中列出名称指向区域 wks.Range("B" & Rows.Count)....End(xlUp)(2) = "'" & nm.RefersTo Next nm '恢复错误触发 On Error GoTo 0 End Sub 一个非常简单过程,它将显示工作簿中所有名称及命名区域

6.4K30

VBA实用小程序64: 标识工作名称区域

学习Excel技术,关注微信公众号: excelperfect 在工作中定义名称是一项很强大功能,我们可以将定义名称单元格区域看作一个整体,从而方便对其进行很多操作。...在进行工作数据处理时,很多人都会定义名称。 有时候,在分析工作数据时,如果能够清楚地看出命名区域,将有助于我们了解工作。...下面的一小段程序可以将工作命名区域添加红色背景色: Sub SetNameRanges() '声明变量 Dim rngName As Name On Error Resume...Next '遍历当前工作簿中名称 For Each rngName In ActiveWorkbook.Names '将名称区域单元格背景色设置为红色...rngName.RefersToRange.Interior.ColorIndex = 3 Next rngName End Sub 如下图1所示,在工作中定义了两个命名区域。

1.3K30

SAS进阶《深入解析SAS》之Base SAS基础、读取外部数据到SAS数据集

SAS数据集包含观测(行)和变量(列)为形式存在数据值,以及用以描述变量类型、长度和创建该数据集时使用引擎等信息描述信息。 3. 数据集可分为数据文件和数据视图。 4....数据文件包含数据和描述信息,在逻辑库中是DATA;而SAS视图不包含数据值,是指向其他数据源虚数据集,成员类型是VIEW。都包括原生和接口。 5....字符型变量缺失值是空格,而数字型变量缺失值是点(.)。 6. 读取外部文件 DATA 数据集迷彩; INFILE 数据文件为准; INPUT 变量列表; RUN; 7....IMPORT过程导入导入数据基本形式如下: PROC IMPORT DATAFILE=文件名|文件引用|DATATABLE=名 DBMS=数据源标识符 OUT=数据集名称;...使用SQL转交功能基本形式如下 PROC SQL; CONNECT TO 数据库名称)>; EXECUTE(数据库特定SQL语句)BY数据库名称|别名

1.9K71
领券