小编and*_*_sz的帖子

sas date - 将today()转换为yyyymmdd格式

如何将SAS日期转换"30JUL2009"dYYYYMMDD格式(例如20090730)?

例如:

data _null_;
  format test ?????;
  test=today();
  put test=;
run;
Run Code Online (Sandbox Code Playgroud)

会在日志中给我"test = 20090730"...

format date sas

16
推荐指数
2
解决办法
9万
查看次数

通过id变量计算滚动总和,缺少时间点

我正在努力学习R并且我已经在SAS工作了10多年,但我无法找到最好的R方法.拿这些数据:

 id  class           t  count  desired
 --  -----  ----------  -----  -------
  1      A  2010-01-15      1        1
  1      A  2010-02-15      2        3
  1      B  2010-04-15      3        3
  1      B  2010-09-15      4        4
  2      A  2010-01-15      5        5
  2      B  2010-06-15      6        6
  2      B  2010-08-15      7       13
  2      B  2010-09-15      8       21
Run Code Online (Sandbox Code Playgroud)

我想通过id,class和4个月的滚动窗口计算所需的列作为滚动总和.请注意,对于id和class的每个组合,并非所有月份都存在.

在SAS中,我通常采用以下两种方式之一:

  1. RETAIN 加上一个id和class.
  2. PROC SQL 左边连接从df作为df1到df作为df2在id,class和df1.d-df2.d在相应的窗口中

解决此类问题的最佳方法是什么?

t <- as.Date(c("2010-01-15","2010-02-15","2010-04-15","2010-09-15",
               "2010-01-15","2010-06-15","2010-08-15","2010-09-15"))
class <- c("A","A","B","B","A","B","B","B")
id <- c(1,1,1,1,2,2,2,2)
count <- seq(1,8,length.out=8)
desired <- c(1,3,3,4,5,6,13,21)
df <- data.frame(id,class,t,count,desired)
Run Code Online (Sandbox Code Playgroud)

r sas plyr zoo

14
推荐指数
2
解决办法
3188
查看次数

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中附加多个CSV文件

我需要在一个SAS数据集中导入大量的csv文件.它们都具有相同的数据结构(相同的变量,第一行的变量名称).我通常在SQL中工作,但我被迫参与SAS中的这个特殊项目,我只掌握了基础知识.

目前,我的代码如下所示:

proc import out=work.data
   datafile = file1.csv
   DBMS=CSV REPLACE;
   GETNAMES=YES;
   DATAROW=2;

proc import out=work.newData
   datafile = file2.csv
   DBMS=CSV REPLACE;
   GETNAMES=YES;
   DATAROW=2;

proc append base=work.data 
            data=work.newData force;    
run;
Run Code Online (Sandbox Code Playgroud)

等等为file3.csv ... file4.csv.

我确信,有一种更优雅的方法,即在一个文件夹上循环所有csv文件而不显式写入它们(有几千个文件).

谢谢你的帮助.

csv sas

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

设置在第一行,为什么我有两个输出行?

我在SAS中尝试了这个代码,但输出与我预期的不一样.

data temp;
   input sumy;
   datalines;
36
;
run;

data aaa;   
   if _n_ = 1 then 
      set temp;
run;

proc print data = aaa;
run;
Run Code Online (Sandbox Code Playgroud)

请问为什么有两个观察结果,sas有两次"设定"?在迭代期间,"set"和PDV如何在这里工作?先感谢您.

sas

5
推荐指数
0
解决办法
243
查看次数

Laravel作业在派遣时运行两次

我试图在laravel队列中运行一个简单的工作.这是我的工作:

class SearchFromSource extends Job implements SelfHandling, ShouldQueue {
    use InteractsWithQueue, SerializesModels;
       public function handle() {
            echo time();
       }
}
Run Code Online (Sandbox Code Playgroud)

有我的代码:

$job = (new SearchFromSource($this));
$this->dispatch($job);
Run Code Online (Sandbox Code Playgroud)

问题是,当我queue:listen在commend行中运行并运行我的代码时,我发现该作业已被执行了两次.

php laravel laravel-queue

5
推荐指数
0
解决办法
1120
查看次数

NSIS:默认安装路径

如何向安装程序添加默认路径(例如C:\ Program Files ...).(我的意思是硬编码变量,例如,它.)

提前谢谢...

installer nsis

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

在SAS Do循环中指定输出语句时,为什么索引变量的存储值不同?

  1. 在数据集Work.Invest中,Year的存储值是多少?

    数据工作.invest; 做年= 1990年至2004年; 资本+ 5000; 资本+(资本*0.10); 结束; 跑;

    • 一个.失踪
    • 湾 1990年
    • C.2004年
    • d.2005年

SAS基础准备指南中给出的正确答案d.2005.

  1. 在下面的问题中,存储的值是2004年.对于下面显示的程序,以下哪项陈述是错误的?

    数据工作.invest; 做年= 1990年至2004年; 资本+ 5000; 资本+(资本*0.10); 输出; 结束; 跑;

    • 一个.OUTPUT语句立即将当前值写入数据集.
    • 湾 Year的存储值是2005.
    • C.OUTPUT语句将覆盖DATA步骤结束时的自动输出.
    • d.在DO loop执行15次迭代.

对此的正确答案是b.2005.(确定虚假陈述是问题).

sas do-loops output

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

如何使用数据步骤而不是SQL从数据集列创建宏变量?

我们可以使用语法通过SAS SQL Procedure创建宏变量

select var into :mvar
Run Code Online (Sandbox Code Playgroud)

但我想知道在数据步骤中是否存在相同的方式.

我有一个数据集.

A    B
===  ===
a1   b1
a2   b2
a3   b3
Run Code Online (Sandbox Code Playgroud)

我可以MA使用下面的语句创建一个宏变量.

proc sql noprint;
   select "'"||A||"'" into :MA separated by ","
   from dataset;
quit;
Run Code Online (Sandbox Code Playgroud)

如何在数据步骤中执行此操作?

sas datastep sas-macro

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

在SAS宏中使用的%符号的重要性是什么

请考虑此示例SAS宏代码:

%MACRO reports;
   %IF &SYSDAY = Monday %THEN %DO;
   %END;
%MEND reports;
Run Code Online (Sandbox Code Playgroud)

宏中的每个单词都需要以%?为前缀吗?这个%符号究竟意味着什么?

sas sas-macro

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

SAS:DATA STEP与PROC SQL

有谁知道为什么proc sql不能在SAS/DATA STEP中使用

例如,

DATA test;
set lib.table;
  PROC SQL;
   ...
  QUIT;
  ...some operators...
RUN;
Run Code Online (Sandbox Code Playgroud)

在PROC SQL..RUN之后; on运算符未处理.

谢谢你的解释.

sas

0
推荐指数
1
解决办法
934
查看次数

标签 统计

sas ×9

sas-macro ×2

csv ×1

datastep ×1

date ×1

do-loops ×1

format ×1

installer ×1

laravel ×1

laravel-queue ×1

nsis ×1

output ×1

php ×1

plyr ×1

r ×1

zoo ×1