首页 文章
  • 0 votes
     answers
     views

    使用infile和filename语句的数据步骤

    有谁能告诉我们这个数据步骤的作用是什么? data _null_; length fname $1024; infile a filename=fname; call symput("a", fname); run;
  • 0 votes
     answers
     views

    文件语句与sas中的文件名分配

    我认为以下两个数据步骤是等效的,但在UNIX环境中,它们会产生稍微不同的二进制文件 . 有谁能解释为什么? /*Example 1*/ filename myfile "/tmp/file1"; data _null_; file myfile recfm=n; a=1; put a; run; filename myfile; /*Example 2*/ data _n...
  • 0 votes
     answers
     views

    为什么proc格式的Cntlin无法正常工作

    这是我正在使用的数据....... data fac1; infile datalines dlm='|'; input fac_nm :$32. onesrc_fac_id D3_fac_id tms_fac_id; datalines; Kouzzina by Cat Cora|349059|108176|54 Be Our Guest Restaurant|16660079|112...
  • 0 votes
     answers
     views

    使用具有迭代DO语句的ARRAY语句

    我正在研究一个数据集(DATA),它有一个我需要改变的格式的3个变量(Var1,Var2,Var3) . 变量采用特殊日期格式(例如OLDFMT1),我需要使用DATEPART函数将它们更改为常规SAS日期格式 . 问题是我需要使用do循环和调用DATEPART函数的数组在单个数据步骤中完成此操作 . 必须在数组中使用DIM函数,我必须在结束数据集之前删除索引变量(i) . 然后,我必须申请DAT...
  • -4 votes
     answers
     views

    在FILENAME语句中使用PIPE和操作系统命令

    如果我在位置c:/ data下面有文件夹和sas文件,那么下面的代码做什么以及sas数据集的可能输出是什么? 新 new.sas7bat news.sas7bat filename files pipe "find c:/data -name '*.sas7bat"; data new; infile files lrecl=120 pad missover; inpu...
  • 1 votes
     answers
     views

    合并指定列顺序

    我有两个类似的SAS数据集: DATAONE DATATWO ----------- ------------------ ID A C E ID B D F 1 x x x 1 x x x 2 x x x 2 x x x 3 x x x ...
  • 1 votes
     answers
     views

    SAS proc sql - 将ddmmmyyyy转换为week-yr和month-yr

    我已经从发送给我的一些Excel电子表格中将一些数据导入SAS . 当我查看导入表的输出时,日期显示为“01APR2014”并保持按时间顺序排列 . 当我查看列属性时,类型为“Date”,长度为8.格式和信息都是DATE9 . 我需要能够将这个日期转换为周年和月 - 年,但无论我尝试什么,我总是得到1960年1月 . 使用proc sql,我使用下面的内容来获取周年, “(put(datepart...
  • 2 votes
     answers
     views

    SAS合并日期和时间

    我试图根据日期和时间合并两个数据集 . 在两个集合中,日期是date9 . 格式和时间是时间5 . 格式 . 我认为如下所示的简单合并就足够了 . 我猜SAS正在将日期作为日期时间和以秒为单位的时间 . data test; merge JRA_UK_July_spot (in=a) UK_surveys_30plus (in=b); by date time_num; if a and b; r...
  • 2 votes
     answers
     views

    在多个数据步骤中维护ID值

    我创建了很多不同的数据集,但我需要创建一个变量ID,它将在每行的第一个数据集中增加1 . 在下一个数据集中,我需要从最后一个数据步骤的ID变量停止的地方继续ID变量 . 我尝试过使用宏变量并保留语句,但它不起作用 . 我正在使用的数据集将发生变化,因此我不能手动进入并将第二个数据集设置为#40处的另一个数据集 . 这是我到目前为止所做的一个例子: %let test_id=1; data wor...
  • 0 votes
     answers
     views

    初学者 . 在SAS中读取数据(阅读日期和100分数问题)

    The problem said: 第一行是 Headers 行,不应读取(使用infile选项firstobs = 2)其余行包含ID号(字符) . 性别(字符),出生日期DOB以及两个分数1和2.请注意,分数有一些缺失值,并且您希望确保SAS不会转到新行来读取这些值 . 使用DATE9写一个SAS DATA STEP读取DOB . 这是数据行(我把它放在我的代码中以节省空间) . DATA R...
  • 0 votes
     answers
     views

    使用Proc报告将多个变量堆叠到表中的单个列中

    我正在使用proc报告创建一个表,并希望通过proc报告将多个变量堆叠到表中的单个列中 . 我使用proc制表完成了这个,但是很难使用proc Report生成相同的报告 . 我的问题:如何在表中的单个列中堆叠多个列变量,以便我可以轻松计算数据的计数和百分比 . 我的列变量是: sex Age County total M 57 Travis 120 F ...
  • 0 votes
     answers
     views

    SAS哈希合并宏 - 输出多个数据集

    我正在创建一个哈希合并宏,我想为合并的表创建一个数据集,为缺少的值创建数据集 . 以下是我正在寻找定期合并的示例 . data &onto miss&varnm xtra&varnm; merge &onto(in=in1) fr2(in=in2); by &byvars; if in2 then from = "&fr...
  • 0 votes
     answers
     views

    SAS:合并或加入并保留所有记录,同时填补缺失的内容

    我基本上将数据集拆分为两个(具有ID和缺少ID的数据集),并通过一组匹配键将缺少的数据合并到非缺失中以帮助填充ID . 我总共有五个记录,最终数据集需要保留所有五个记录 . 以下是一个例子: DATA TEST; LENGTH ID MKEY $12.; INPUT ID $ MKEY $; DATALINES; . M123 . M456 ...
  • -3 votes
     answers
     views

    以下sas代码有什么问题?

    我是sas的新手 . 我写了一个基本代码,但它没有用 . 有人可以帮我弄清楚代码有什么问题 . 我希望附加数据集 . options mprint mlogic symbolgen; %macro temp(); %let count = 0; %if &count = 0 %then %do; data temp; set survey_201106; %let count = %eva...
  • 0 votes
     answers
     views

    使用filename语句导入CSV文档

    我想在SAS中使用 filename 语句读取CSV文档,但是当我使用 input 语句输入变量名时,Excel已经包含变量名作为第一行 - 这将是一个错误 . 我该如何处理这种情况? filename outdata "C:\Users\Xiang\Desktop\crime2005.csv"; data crime; infile outdata dlm=&quo...
  • 0 votes
     answers
     views

    将字段格式的长度和字符串长度设置为宏中的行长度

    我已经构建了一些宏代码,它将字段的给定行中的值传递给宏变量,然后将其用作字符串的一部分,从网站下载CSV文件 . 我尝试将此字段设置为默认长度$ 8 . 在'CALL SYMPUT'语句中 . 这不起作用,因为大多数(但不是全部)字符串长度为4.当在日志中运行代码时,您可以看到提交到网站的URL中的尾随空格和代码翻倒 . 当我尝试使用'CALL SYMPUT'长度为4美元时 . 它适用于四个字符长...
  • 1 votes
     answers
     views

    在call symput语句中使用动态宏变量

    我不久前发布了一个关于修剪宏变量的问题,我用它从Yahoo Finance下载一个CSV,其中包含每个传递到站点的变量信息 . 建议我实现这一目标的代码如下: data _null_; a = "&testvar."; call symputx('svar',trim(input(a,$8.))); run; 这很有效,但是我需要重新设计代码,以便我声明多个宏变量并同...
  • 1 votes
     answers
     views

    接受比预期的路径字符串短的SAS文件名URL语句

    关于SAS中的“文件名URL”声明,我已经在此处发布了这些声明,并且在响应最大URL长度方面有一些有用的信息 . 我一直在努力保持提交的字符串低于2000个字符 . 该提交是雅虎财务下拉.csv文件的股票数据 . 提交的URL采用以下格式: http://finance.yahoo.com/d/quotes.csv?s=TIK1+TIK2+TIK3&f=ab5d6 文件路径中的TIK1等...
  • 0 votes
     answers
     views

    如果数据集没有行,则调用未解析的Symputx宏变量

    我有以下代码,它检查文件名URL语句是否已正确传递它的内容和infile语句 . 如果不是宏应该迭代十次尝试 Build URL连接然后放弃: %macro test_exst(iter); /*filename loader url "http://www.sdhsdisdhsidhsidh.com";*/ /*filename loader url "http:...
  • 0 votes
     answers
     views

    缺少明显不一致的分隔数据?

    我已经在SAS中 Build 了一些东西来拉下雅虎!财务.csv数据 . 我现在构建的代码工作正常,我已经在代码中构建了一些强大的错误处理 . 我对数据的问题是.csv提要不受支持且不干净 . 数据以逗号分隔,但某些数据中也包含逗号 . 有些字段是引号,有些则不是 . 田地的长度也变化很大 . 例如,市场资本市场(Market Capitlisation)这样的领域可以从数百万到数千亿 . 因此,...
  • 0 votes
     answers
     views

    将变量从SAS传递到Python

    是否可以通过使用“X”命令传递的命令行语句等将宏变量从SAS传递给Python?到目前为止,我已经想出了一种方法,包括将宏变量写入文本文件,然后让Python读取 . 该方法似乎是一个可能的香蕉皮,代码中有一个关键步骤写出文本文件 . 我已经在网上浏览了一些可能的方法,但没有真正发现任何东西 . 代码将动态生成以下字符串: %let loader = "%NRSTR(finance.y...
  • 1 votes
     answers
     views

    SAS Proc Summary包含缺少值的类变量

    当类语句中的变量缺少值时,我遇到了proc summary行为的问题 . 在下面的示例中, test_out 将提供所有可能的类型组合 . test_missing_out 没有并且没有考虑var3缺少var2的总和,尽管事实上var1没有丢失: data test; infile datalines dsd delimiter=' '; input var1 var2 $ v...
  • 1 votes
     answers
     views

    SAS:ODS LATEX标签省略了LINE ENDING MARK

    我正在运行'proc means'命令打印下面两个变量的汇总统计信息:var1和var2 . 我正在动态创建乳胶,并在一个更大的文档中选择乳胶,并为表格提供适当的 Headers . 如果我在PROC MEANS命令的'var'部分只有一个变量,它的工作正常 . 我甚至可以在那里有一些类声明,它的工作原理 . 但是,如果我在'var'语句中添加另一个变量,则乳胶输出中会缺少回车符 . 这是我得到...
  • 1 votes
     answers
     views

    SAS proc制表

    我想创建一个这样的表: 这是我的代码不起作用: proc tabulate data=temp out = t1; class age gender ethnic height TRT TREATGR; table ethnic * (N) gender * (N) age * (n mean median min max) height * (n mean median min m...
  • 0 votes
     answers
     views

    SAS:如何找出每个变量列的后续第二高条目?

    我有一个CSV格式的数据集,如下所示: Policy_Number,var1,var2,var3,Exposure 1,B,H,J,191 2,B,F,Unknown,174 3,C,Unknown,I,153 4,B,G,L,192 5,Unknown,E,Unknown,184 6,D,E,K,113 7,C,Unknown,I,140 8,A,H,I,133 9,C,F,I,194 10,U...
  • 1 votes
     answers
     views

    proc制表缺失值SAS

    我有以下代码: ods tagsets.excelxp file = 'G:\CPS\myworkwithoutmissing.xml' style = printer; proc tabulate data = final; Class Year Self_Emp_Inc Self_Emp_Uninc Self_Emp Multi_Job P_Occupation Full_Part_Time_...
  • 0 votes
     answers
     views

    Proc Tabulate Percentage SAS

    我使用Proc制表创建了以下列表: 你会注意到我把PCTN列留空了,因为我运行的代码(下面)给了我错误的百分比 这是我的代码: ods tagsets.excelxp file = 'G:\CPS\myworknew.xml' style = analysis; proc tabulate data = final; Class Year P_Occupation Full_Part_Time_...
  • 1 votes
     answers
     views

    proq sql宏;循环列表

    我有一个宏,在给定的数据集中查找变量名称 . 如果缺少宏正在查找的变量名称,则缺少的变量名称将添加到表中: %macro miss(ds, var); %local rc dsid result; %let dsid=%sysfunc(open(&ds)); %if %sysfunc(varnum(&dsid,&var)) > 0 %then ...
  • 0 votes
     answers
     views

    多个变量的PROC FREQ组合成一个表

    我有以下问题 . 我需要在多个变量上运行PROC FREQ,但我希望输出都在同一个表上 . 目前,PROC FREQ声明类似于TABLES ERstatus Age Race,InsuranceStatus;将计算每个变量的频率,并将它们全部打印在不同的表格上 . 我只想要一张 table 上的数据 . 任何帮助,将不胜感激 . 谢谢! 附:我尝试使用PROC TABULATE,但它没有正确计算N...
  • 1 votes
     answers
     views

    如何将大型csv导入SAS且变量名称完好无损?

    我正在尝试导入一个大型CSV文件(大约7k变量和355个观测值) . Proc Import在~2k列之后停止读取变量名称,我不确定为什么 . 我发现使用infile会将整个csv带入SAS,但变量名称在第一行,变量名为v1-vn . 我只需要从第一行获取变量名称,然后使用这些来修改/重命名我的数据集 . 到目前为止,我已经:使用infile和transpose将我的所有变量名称放在一个单独的数...

热门问题