SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1277|回复: 6
打印 上一主题 下一主题

请教parms命令

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2004-10-28 22:32:21 | 只看该作者

请教parms命令

请教一个问题:非线性回归分析中的一个命令:
parms b0=7.6 to 8 b1=1.67 to 2  这样写有什么问题,为什么不运行?
非常感谢!!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2004-10-29 10:02:34 | 只看该作者

Re: 请教parms命令

b0=7.6 to 8 by ??
b1=1.67 to 2 by ??
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2004-10-29 13:58:20 | 只看该作者

re

To zhaohm0459:

请把你的出错log贴出来。这样也好看看问题出在那里。

SAS 支持zhaohm0459这样不指定步长的写法,详见
<!-- m --><a class="postlink" href="http://www.id.unizh.ch/software/unix/statmath/sas/sasdoc/stat/chap45/sect12.htm#nlinparameters">http://www.id.unizh.ch/software/unix/st ... parameters</a><!-- m -->
但从这个说明看到m to n的写法默认步长为1,可是zhaohm0459贴出程序中待估参数的起始值的差距根本没有1那么大,那么程序根本无法按默认方案进行下去,我估计这就是问题的症结。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2004-10-29 14:10:29 | 只看该作者

re

大家的sas程序有问题应该先看看出错的log,然后到SAS自己的帮助系统和网上查查。这样往往能解决很多问题,实际上很多你遇到的问题SAS的自带帮助系统都很清楚解释了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2004-10-31 19:14:57 | 只看该作者

关于PARMS命令的程序

这是关于APRMS命令的程序,我曾经改过步长,但还是不能运行.
title '负指数生长曲线模型';
label x='月' y='累积体重减轻:斤';
data yer;
input x y @@;
cards;
1 6.9 2 7.3 3 7.6 4 8.0 5 8.4 6 8.9
7 9.5 8 9.9 9 10.5 10 11.5 11 12.5 12 13.5
;
proc nlin data=yer best=100 method=marquardt;
parms b0=7.6 to 8 b1=1.67 to 2
model y=b0*(1-exp(-b1*x));
run;
其运行后的LOG如下:
24   title '负指数生长曲线模型';
25   label x='月' y='累积体重减轻:斤';
     -----
     180

ERROR 180-322: 语句无效或未按正确顺序使用。
31   ;
32   proc nlin data=yer best=100 method=marquardt;
33   parms b0=7.6 to 8 b1=1.67 to 2
ERROR: statement contains invalid range. ( from 7.6 to 8 by 1 ).
34   model y=b0*(1-exp(-b1*x));
           -
           22
           76
ERROR: statement contains invalid range. ( from 1.67 to 2 by 1 ).
ERROR 22-322: 语法错误,期望下列之一: 数值常数, 日期时间常数, -, :, =.
ERROR 76-322: 语法错误,语句将被忽略。
[color=violet:fbfe0][size=150:fbfe0]非常感谢!!![/size:fbfe0][/color:fbfe0]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2004-10-31 22:32:34 | 只看该作者

对话框和编程序的结果差别

请教高手:
      为什么有时候用程序命令和用对话框运行后产生的输出结果有差别?有的时候一致?
      我刚开始学习SAS,如果问题太简单请别见笑.
      非常感谢!!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2004-11-1 10:14:54 | 只看该作者

Re: 关于PARMS命令的程序

1、label语句加入到data step中;
2、“parms b0=7.6 to 8 b1=1.67 to 2”改成“parms b0=7.6 to 8 by 0.1 b1=1.67 to 2 by 0.01;”--步长是要加的,否则默认是1,语句后的分号要加上。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-11-5 06:08 , Processed in 0.096585 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表