SAS中_N_代表什么意思呢?

我看文献上说_N_代表读取数据集的条数,很模糊的意思,不是很懂,请教高人解答一下。data shoes; infile 'c:\tlsb\shoesales.dat'; input name $ 1-15 type $ sales;run;proc means noprint data=shoes; var sales; output out =summarydata sum(sales)=total;run;proc print data=summarydata;run;data summaryshoes; if _n_=1 then set summarydata; set shoes; percent=sales / total * 100;run;proc print data=summaryshoes; var name type sales total percent;run;我知道黄色是代表将两个数据集合并,但不知道什么原理,希望讲解一下。

  SAS中_N_代表:_n_是data步的自动变量,_n_表示观测的序号。通俗一点就是“表格的第几行”。_n_不在数据集中,但可以用一个变量来表示——就是“t=_n_;”。
  SAS(全称STATISTICAL ANALYSIS SYSTEM,简称SAS)是全球最大的软件公司之一,是由美国NORTH CAROLINA州立大学1966年开发的统计分析软件。
  SAS系统基本上可以分为四大部分:SAS数据库部分;SAS分析核心;SAS开发呈现工具;SAS对分布处理模式的支持及其数据仓库设计。它由数十个专用模块构成,功能包括数据访问、数据储存及管理、应用开发、图形处理、数据分析、报告编制、运筹学方法、计量经济学与预测等等。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-12
_N_ indicates the number of times SAS has looped through the DATA step. This is not necessarily equal to the observation number, since a simple subsetting IF statement can change the relationship between observation number and the number of iterations of the DATA step.
第2个回答  2013-06-12
_N_ is SAS's built-in case counter,is an internal SAS counter in the data step which contains the current iteration number of the data step.本回答被网友采纳

SAS中_N_代表什么意思呢?
SAS中_N_代表:_n_是data步的自动变量,_n_表示观测的序号。通俗一点就是“表格的第几行”。_n_不在数据集中,但可以用一个变量来表示——就是“t=_n_;”。SAS(全称STATISTICAL ANALYSIS SYSTEM,简称SAS)是全球最大的软件公司之一,是由美国NORTH CAROLINA州立大学1966年开发的统计分析软件。SA...

SAS中如何用程序命令在数据库文件中增加一列序列号?
您可以使用_N_系统变量来为每一行数据添加一个序列号。以下是一个示例代码:bash Copy code data a;set a;seq = _N_;run;这将在数据集 a 中添加一个名为 seq 的新列,并为每行数据分配一个序列号。_N_系统变量代表数据集中的当前观察行号。请注意,如果您希望在运行多个 data 步骤时保留观察...

sas里面线性拟合结果上的参数是什么意思
N就是样本数 Rsq就是拟合系数,越接近1模型就越好。AdjRsq是调整后的拟合系数,同样越接近1模型拟合度就越好。RMSE是均方根误差,也叫标准误差,定义为:误差的平方和除以样本个数减一的平方根 δ=sqrt[(Σ(di^2))\/(n-1)] n为测量次数;di为一组测量值与平均值的偏差。如果误差统计分布是正...

sas怎么用symbol对所有直线进行设置
LINE=n|L=n n:n为表示线型的序号.0表示空白线,1-实线,2-虚线等等,最大值为46,缺省的为1. 只需要在symbol语句中加入L=2或者LINE=2,就可以使得描述对象间的连线成为虚线. 例如: symbol i=spline l=2; 即生成光滑样条曲线

您说SAS中用end=last,然后用if last来判断是否为最后一个观测值,那如何...
sas 里面有几个系统变量,比方说 _N_ _ERROR_ FIRST. LAST. END 等等 但是是没有begin(或者start)的比方说如果你要取第一条你可以这样写 Data A;Set Sashelp.Class End=Last;Tot+Age;If _N_>1 Then stop;Run;此外,end 是作为当前是否到达文件底部的标志,也就是说只有当前读入...

在sas中我想要使用数据集的某一行数字或者某一列数字怎么弄?
Data new;set old(keep=a);run;至于如何使用某一行么,当时我也遇到过这个问题,我用了比较笨的办法,希望能够帮助到你。其实就是想办法将数据进行转置。这样使用某一行就变成了上述查询某一列的问题了。proc transpose data=old out=new;run;当然直接保留某一行也是可以的 比如你只想选取第n个...

sas调查表中每项有几个等级平分选择
一个简单的算法,若有30个数据,分三组,一组10个,按从小到大排序,用_n_\/10取整就好了嘛,第一组为0,第二组1,第三组2

SAS中对时间序列先取自然对数再进行差分的命令是什么?
data步中定义时间序列变量x;调用函数log()转化为新变量x1;调用差分函数dif()转化为新变量x2;对x2分析;如:data dataset;input x;time=_n_;x1=log(x);x2=dif(x1);cards;.;run;

怎样在sas数据集中选取某些数据行形成新的数据集
if _N_=1 then output;用这样的语句将第一行输出进另外一个数据集。也可以用如下语句实现将多行输入进另外数据集(这里是第一、第二、第四行的意思)if _N_ in (1,2,4) then output;

sas attrib语句可以放在input前吗
因此若前一个input语句执行完毕之后,若该行的数据没有使用完,遇到下一个INPUT语句时也会放弃之前没有用完的数据。若需要保留前一个INPUT语句使用过的数据行供以后的input语句使用,只需在前一个INPUT语句最后加入跟踪符合@,表示该行没有用完的数据暂时保存在输入缓冲器中以备下一个最近的INPUT语句使用...

相似回答