标签: sas

SAS Display Manager命令

SAS显示管理器是SAS系统的comamnd线路接口,作为传统设施保留在Base SAS中.

然而,关于如何使用此工具的在线文档充其量是稀疏的,并且谷歌搜索不是很有成效.

常见的DM命令是:CLEAR LOG; 清晰的输出; WPGM;

我的问题是 - 那里还有其他什么DM命令?

command-line sas dm display-manager

13
推荐指数
4
解决办法
1万
查看次数

如何读取SAS数据集中的变量名称?

是否有任何语句\函数能够获取变量的名称?最好将它们放入另一个数据集,文本字段或宏变量的列中.

例如

- 数据集1

Name age sex

    Jk   14   F
    FH   34   M
Run Code Online (Sandbox Code Playgroud)

PS:我知道一个声明:select into,它确实相关它可以将列的值读入带有自定义separetors的字段中,因此希望有类似的方法将列名读入字段或列.

谢谢

variables sas

13
推荐指数
3
解决办法
5万
查看次数

使用PROC SQL查找SAS中给定字符串中最多一个字母的字符串

首先是一些背景.我在SAS中使用proc sql,需要获取数据集中的所有条目(包含几百万个条目),其变量"Name"等于(比方说)"Massachusetts".当然,由于数据曾经由人类手动输入,因此接近所有可能出现的拼写错误("Amssachusetts","Kassachusetts"等).

我发现很少有条目错误地超过两个字符,所以代码

Name like "__ssachusetts" OR Name like "_a_sachusetts" OR ... OR Name like "Massachuset__"
Run Code Online (Sandbox Code Playgroud)

会选择我要找的条目.但是,我希望必须有一种更方便的方式来编写

Name that differs by at most 2 characters from "Massachusetts";
Run Code Online (Sandbox Code Playgroud)

在那儿?或者是否有其他策略来获取这些条目?我尝试搜索stackoverflow和网络但是不成功.我也是SQL和SAS的初学者.

一些额外的信息:数据库不是英文(实际的字符串不是"马萨诸塞州")所以使用SOUNDEX并不是真的可行(如果有的话).

提前致谢.

(编辑:改进标题)

regex sql sas

13
推荐指数
1
解决办法
1354
查看次数

在SAS中,"dsd"选项代表什么?

我有一个快速的问题.

我正在学习SAS,并且遇到了这个dsd=选择.

有谁知道这代表什么?它可能有助于记忆/情境化.

谢谢.

sas

13
推荐指数
3
解决办法
3万
查看次数

在SAS中删除表

在SAS中删除表的最有效方法是什么?

我有一个循环和删除大量表的程序,并想知道PROC SQL之间是否存在性能差异; 和PROC DATASETS; 一次删除一个表..

或者如果有另一种方式或许???

sas drop-table proc-sql

12
推荐指数
2
解决办法
3万
查看次数

宏返回一个值

我创建了以下宏.Proc power返回pw_cout包含列的表Power.该data _null_步骤将列Power中的值分配pw_out给宏变量tpw.我希望宏返回值tpw,以便在主程序中,我可以在DATA步骤中调用它,如:

data test;
   set tmp;
   pw_tmp=ttest_power(meanA=a, stdA=s1, nA=n1, meanB=a2, stdB=s2, nB=n2);
run;
Run Code Online (Sandbox Code Playgroud)

这是宏的代码:

%macro ttest_power(meanA=, stdA=, nA=, meanB=, stdB=, nB=);


proc power; 
   twosamplemeans test=diff_satt 
   groupmeans = &meanA | &meanB 
   groupstddevs = &stdA | &stdB
   groupns = (&nA &nB)
   power = .;    
   ods output Output=pw_out;
run;

data _null_;
    set pw_out;
    call symput('tpw'=&power);
run;

&tpw
%mend ttest_power;
Run Code Online (Sandbox Code Playgroud)

sas sas-macro

12
推荐指数
2
解决办法
1万
查看次数

GBM规则生成 - 编码建议

我使用R包GBM可能是我预测建模的首选.有关于这个算法,但在一个"坏"这么多伟大的事情是,我不能轻易使用型号代码进球我要编写能够在SAS或其他系统中使用的代码外河的新数据(我将开始与SAS(无法访问IML)).

假设我有以下数据集(来自GBM手册)和型号代码:

library(gbm)
set.seed(1234)
N <- 1000
X1 <- runif(N)
X2 <- 2*runif(N)
X3 <- ordered(sample(letters[1:4],N,replace=TRUE),levels=letters[4:1])
X4 <- factor(sample(letters[1:6],N,replace=TRUE))
X5 <- factor(sample(letters[1:3],N,replace=TRUE))
X6 <- 3*runif(N)
mu <- c(-1,0,1,2)[as.numeric(X3)]
SNR <- 10 # signal-to-noise ratio
Y <- X1**1.5 + 2 * (X2**.5) + mu
sigma <- sqrt(var(Y)/SNR)
Y <- Y + rnorm(N,0,sigma)
# introduce some missing values
#X1[sample(1:N,size=500)] <- NA
X4[sample(1:N,size=300)] <- NA
X3[sample(1:N,size=30)] <- NA
data <- data.frame(Y=Y,X1=X1,X2=X2,X3=X3,X4=X4,X5=X5,X6=X6)
# fit initial model

gbm1 <- gbm(Y~X1+X2+X3+X4+X5+X6, # formula
data=data, # dataset …
Run Code Online (Sandbox Code Playgroud)

r sas gbm

12
推荐指数
1
解决办法
4139
查看次数

R Markdown相当于SAS

我想知道SAS中是否有相同的R Markdown?或者如何在SAS中这样做?我想在下面有彩色SAS代码及其结果.

链接到R Markdown:http://rstudio.org/docs/authoring/using_markdown

r sas knitr

12
推荐指数
1
解决办法
2070
查看次数

加入重叠的日期范围

我需要连接表A和表B来创建表C.

表A和表B存储ID的状态标志.状态标志(A_Flag和B_Flag)可以不时更改,因此一个ID可以包含多行,表示ID状态的历史记录.特定ID的标志可以彼此独立地改变,这可以导致表A中的一行属于表B中的多行,反之亦然.

结果表(表C)需要是唯一日期范围的列表,其中包括ID生命周期中的每个日期(01/01/2008-18/08/2008),以及每个日期范围的A_Flag和B_Flag值.

实际表包含数百个ID,每个ID每个表具有不同的行数.

我可以访问SQL和SAS工具来实现最终结果.

Source - Table A
ID  Start           End     A_Flag
1   01/01/2008  23/03/2008  1
1   23/03/2008  15/06/2008  0
1   15/06/2008  18/08/2008  1

Source - Table B
ID  Start           End     B_Flag
1   19/01/2008  17/02/2008  1
1   17/02/2008  15/06/2008  0
1   15/06/2008  18/08/2008  1

Result - Table C
ID  Start           End  A_Flag B_Flag
1   01/01/2008  19/01/2008  1   0
1   19/01/2008  17/02/2008  1   1
1   17/02/2008  23/03/2008  1   0
1   23/03/2008  15/06/2008  0   0
1   15/06/2008  18/08/2008  1   1
Run Code Online (Sandbox Code Playgroud)

sql sas

12
推荐指数
1
解决办法
6412
查看次数

SAS - 如何从SAS宏返回值?

我想从我创建的SAS宏中返回一个值,但我不确定如何.宏计算数据集中的观察数.我希望返回观察数量.

%macro nobs(library_name, table_name);
  proc sql noprint;
    select nlobs into :nobs
    from dictionary.tables
    where libname = UPCASE(&library_name)
      and memname = UPCASE(&table_name);
  quit;

  *return nobs macro variable;
  &nobs
%mend;

%let num_of_observations = %nobs('work', 'patients');
Run Code Online (Sandbox Code Playgroud)

另外,我希望&nobs宏中使用的宏变量对于该宏是本地的而不是全局的.我怎样才能做到这一点?

sas

12
推荐指数
3
解决办法
1万
查看次数

标签 统计

sas ×10

r ×2

sql ×2

command-line ×1

display-manager ×1

dm ×1

drop-table ×1

gbm ×1

knitr ×1

proc-sql ×1

regex ×1

sas-macro ×1

variables ×1