SAS中文论坛

标题: 求助分组求和 [打印本页]

作者: shiyiming    时间: 2010-9-21 20:47
标题: 求助分组求和
请教, 部分数据如下
Data A:  code  date      sdate      a     
1   20090214   20090306  0.0302
        …
        1   20090306   20090306  0.0234
        …
1        20090403   20090306  0.0329
--------------------------------------------------
1         20090420   20090509  0.0832
        …
1        200900530  20090509  0.0321
-------------------------------------------------
2   20090211   20090218  0.0832

2   20090218   20090218  0.0768
2   20090420   20090218  0.0873
-------------------------------------------------
7

100
说明:
Data A 4列code代码,一共从1-100, 中间可能有缺省,例入示例中从code=2 跳到7.  code=1的sdate有2个, 其他code的sdate可能有1个或者多个,(用“--------------”隔开每组, 方便示意)我挑取date=sdate的之前 4个行和之后10个行,
要求:
每组的a值(第四列)第一个相加取平均, 算出相应的t值,每组的第二行的a值相加取平均, 算t值;每组第3-5行的a值加起来作为1个值 ,相加取平均, 算t值; 当date=sdate之后的也是第1行的a值相加求均值, 算t值, 2-8行的加起来算一个值, 求和取均值。 9-10行的也如上述计算。
作者: shiyiming    时间: 2010-9-22 01:03
标题: Re: 求助分组求和
t值?
作者: shiyiming    时间: 2010-9-23 22:24
标题: Re: 求助分组求和
怎么上传图片啊, 我在word里打的公式 粘贴不到帖子里。 <!-- s:( --><img src="{SMILIES_PATH}/icon_sad.gif" alt=":(" title="Sad" /><!-- s:( -->
作者: shiyiming    时间: 2010-9-23 22:39
标题: Re: 求助分组求和
对于每一个t值 = a的相应 的均值/分母, 分母=a相应的标准差/{[n(n-1)]开方}, n是满足条件的对于-4到10天 的每一个满足条件的个数之和。 不知道能看懂不, 公式贴不出来 , 汗。

要求然后每组的a值(第四列)第一个相加取平均, 算出相应的t值,每组的第二行的a值相加取平均, 算t值; 依此类推, 算出从-4到10 的a的均值, t值  , 对于连续 (-2到0天, 1-3天, 4-10天的就是把相应的a值加总, 看成一个数, 然后计算t 值
作者: shiyiming    时间: 2010-9-24 01:11
标题: Re: 求助分组求和
我的理解是你需要T value for testing mean = 0;
以下程序是基于你已经分好组。每个组15个记录。如果不是如此,如何标定_n可能较复杂。取决你具体的数据
[code:pkwpq3pr]data had;
        set; by code sdate notsorted;
        _n ++1;
        if first&#46; sdate then _n = -4;
        run;
proc format;
        value _n1Fmt -4 =1 -3 =2 -2-0 = 3 1 =4 2-8 =5 9-10 =6;
run;
proc means data = had noprint;
        class code sdate _n; ways 3;
        var a;
        format _n _n1Fmt&#46;;
        output out = MeansOut mean = mean;
run;
proc means data = MeansOut noprint;
        class _n; ways 1;
        var mean;
        output out = MeansOut1(drop = _type_ _freq_) n = n mean = mean t = t;
run;;[/code:pkwpq3pr]
作者: shiyiming    时间: 2010-9-25 11:00
标题: Re: 求助分组求和
to vcvi
把图片先贴到其它地方,然后引用链接过来。
作者: shiyiming    时间: 2010-10-18 10:46
标题: Re: 求助分组求和
谢谢jingju, 每组不一定15个数据, 有些有缺失, 所以当date=sdate, 加上前面的2天记为 0, 再 前面的1天记为-1, 如此类推, 请问如何解决
作者: shiyiming    时间: 2010-10-18 16:14
标题: Re: 求助分组求和
proc means data = had noprint;
   class code sdate _n; ways 3;
   var a;
   format _n _n1Fmt.;
   output out = MeansOut mean = mean;
run;
请问下这部分运行怎么没有记录?




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2