全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1341 6
2015-02-24
我在iml过程中定义了函数,此函数主要是生成二维数组。
请问如何在data中调用此函数并输入结果到三维图?

程序如下:

      proc iml;
      start UUlocaltau(current_p,current_q,copula_par);
          copulavalue = clayton_copula(current_p,current_q,copula_par);
          db_clayton_copula_X_diffxy = outter_clayton_copula_X_diffxy(current_p,current_q,copula_par);
          db_copula_p_X_diffxy = outter_copula_p_X_diffxy(current_p,current_q,copula_par);
          db_copula_q_X_diffxy = outter_copula_q_X_diffxy(current_p,current_q,copula_par);
          db_u_v_X_diffxy = outter_u_v_X_diffxy(current_p,current_q,copula_par);                                                         
          tauMainUU = (2*(copulavalue+1)*(1-current_p-current_q+copulavalue) + 4*db_clayton_copula_X_diffxy - 2*db_copula_p_X_diffxy - 2*db_copula_q_X_diffxy - 2*db_u_v_X_diffxy)/((1-current_p-current_q+copulavalue)**2) - 1;
          return (tauMainUU);
     finish;
                 
     /*********************************************************************************/
     /*********************************************************************************/
     /************ Main program ***********/
     /*********************************************************************************/
     /*********************************************************************************/
     options cmplib = sasuser.funcs;
     data tauUU;
     array tauMainUU(46,46);
     i=1;
     j=1;
     copula_par = 1.2;    /**** parameter of copula function ****/
     do current_p = 0.5 to 0.95 by 0.01;                                                                                                               
        do current_q = 0.5 to 0.95 by 0.01;                                                                     
           tauMainUU(i,j) = UUlocaltau(current_p,current_q,copula_par);
           output;
           j = j + 1;                                                                                             
        end;   
     i = i + 1;  
     j = 1;                                                                                                                        
     end;

程序出错信息为:“函数 UULOCALTAU 未知,或无法访问。”
但是我单独使用 此函数是可以得到结果的。请高手指点一二!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-4-22 17:01:29
顶一个吧,难道没有人会嘛?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-22 21:20:13
从你的程序来看很混乱,三不像!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-23 15:06:19
learsaas 发表于 2015-4-22 21:20
从你的程序来看很混乱,三不像!
呵呵,就是这个链接里描述的啊https://bbs.pinggu.org/forum.php? ... ;page=1#pid29699581

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-23 15:15:58
不知道有没有看明白,反正只知道你少贴了点东西,比如这个函数clayton_copula。。。。。
也许是我sas版本低下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-23 15:40:36
learsaas 发表于 2015-4-23 15:15
不知道有没有看明白,反正只知道你少贴了点东西,比如这个函数clayton_copula。。。。。
也许是我sas版本低 ...
就是说,我想知道的是 如何在IML步中绘制三维图?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群