<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好
我一直在看这个例子https://communities.sas.com/message/134652#134652尝试了解如何使用自定义公式建立非线性模型。 不幸的是,当我将示例中的脚本直接粘贴到我的脚本窗口中时,它确实运行了。 (请注意,我创建了数据集并将其保存在数据表中,该数据表成为当前数据表。 然后我只运行了与建模有关的 scipts 部分。)
当脚本以 parms 开头时,我得到一个错误:
parms = rnlin1[/*###*/"Nonlinear Fit ID=1"]["Solution"][Table Box( 2 )] <<制作组合数据表;
这个问题与我所拥有的一个更一般的问题有关,关于如何制定你自己的公式来适应数据。 我根本不知道该怎么做。 我曾经在 SAS 中使用 proc nlin,它很简单并且有很好的例子,但我在这里不知所措。 我在“公式”列中输入什么? 参数在哪里? 在单独的数据表中? 或者?
问候
波尔
再次嗨,我仍在努力了解如何将报告中的结果放入数据表中。 语法使我难以理解。 我想开发一种通用方法来访问例如双变量报告或非线性报告的结果。 我看过脚本指南中关于显示树的章节,我认为这就是信息所在的地方。 但是如何掌握一个具体的结果呢?
例如这种一般情况,其中 my_data 具有 X 变量和 Y 变量列:
my_data<<双变量(Y(:y-变量),X(:x-变量),
拟合线,
拟合多项式 (2),
拟合多项式 (3),
通过(:number_of_instruments));
如何访问报告中嵌入的结果并执行 Make CombinedDataTable?
问候
波尔
第一个命令创建对报告的引用。 这里,nlin 是非线性平台对象,因为它有一个 By() 变量,所以它在这里由两个“子报表”组成,每个子报表对应一个 ID 级别。 这些子报告中的第一个由索引 [1] 寻址。
第二个命令仅设置子报表中表格的路径,并向其发送“制作组合数据表”命令,该命令应在报表中创建一个包含所有类似表格框的数据表。
女士,谢谢。 这个例子当然有效。
你能解释一下代码是什么吗:
rnlin1=报告(nlin[1]);
参数 = rnlin1[ . . . .]
做? 我知道,它生成了 parms 表,但除此之外,语法看起来很奇怪,至少对我来说是这样。
问候
波尔
通过在左上角的下拉菜单中选择“参数”,在公式编辑器中定义参数。 然后像往常一样使用参数和自变量输入公式。
您引用的示例表中的公式可以通过 JSL 以这种方式添加:
dt =新表( “非线性示例” ,
添加行( 20 ) ,
新建专栏( “ID” ,
数字,
连续的,
格式( “最好的” , 1个) ,
设置值( [ 1个, 1个, 1个, 1个, 1个, 1个, 1个, 1个, 1个, 1个, 2个, 2个, 2个, 2个, 2个, 2个, 2个, 2个, 2个, 2个] )
) ,
新建专栏( “X” ,
数字,
连续的,
格式( “最好的” , 12 ) ,
设置值( [ 1个, 2个, 3个, 4个, 5个, 6个, 7 , 8个, 9 , 10 , 1个, 2个, 3个, 4个, 5个, 6个, 7 , 8个, 9 , 10 ] )
) ,
新建专栏( “是” ,
数字,
连续的,
格式( “最好的” , 12 ) ,
设置值(
[ 14.007192425 , 17.212873694 , 19.206116204 , 22.698900479 , 26.547313123 , 27.964537384 ,
32.187880488 , 34.471305291 , 37.982516136 , 39.725363966 , 18.727600524 , 20.500227504 ,
18.715068521 , 22.667963466 , 25.505984818 , 25.947839552 , 27.933068812 , 31.390339224 ,
32.390010591 , 34.514002505 ]
)
)
) ;
dt <<新建专栏( “公式” ,数字,公式(范围( { b0 = 1个, b1 = 2个} , b0 + b1 * : X ) ) ) ;