使用 JSL 拟合模型时显示“数据表中未找到指定列”我有一个脚本,可以从我导入的表中创建拟合模型。
我的问题是访问数据时出现此错误。
“在数据表中找不到指定的列。{4759} 在访问或评估“列表”时,{/*###*/data:T_VALUE}”
当我尝试通过“显示”访问该列时,我得到了很好的结果:
“数据:T_VALUE = 1;”
我的代码:
data = Open( "C:/Users/taviad/Desktop/Sheet1.jmp" );
Show(data:T_VALUE);
model = data << Fit Model(
Y( data:T_VALUE ),
Effects(
data:x,
data:y,
data:z,
data:c
),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(),
Where( data:b == "param1" & data:n == "param2" ),
);
谢谢。
回复:使用 JSL 拟合模型中的“数据表中未找到指定列”我设法通过将数据重新保存在新文件上来解决它。我不知道问题出在哪里,但原始文件不好。回复:使用 JSL 拟合模型中的“数据表中未找到指定列”您报告的日志消息看起来很奇怪。
- “在数据表中找不到指定的列。{4759} 在访问或评估“列表”时,{/*###*/data:T_VALUE}”如果我指定的列不存在,则不会收到此错误消息存在。当您为 Y 指定了列表时,这看起来像是一条错误消息
- 当我尝试通过“显示”访问该列时,我得到了良好的结果: “data:T_VALUE = 1;”当 T_VALUE 是表变量并且不存在具有该名称的列时,会发生这种情况
- 这是当数据具有名称为“data:T_VALUE = .;”的列时显示的结果
万一您的列名是用 CR 或制表符读入的,您可能想尝试下面的脚本,它会删除前导和尾随空格、制表符、换行符和回车符(新行)
for(i=1, i<=ncol(data), i++,
column(data,i) << set name( Trim( column(data,i) << get name) );
);
回复:使用 JSL 拟合模型中的“数据表中未找到指定列”我只是不明白错误:“T_VALUE = 1”。这使得它看起来像一个标量值,而不是一列。
回复:使用 JSL 拟合模型中的“数据表中未找到指定列”它是一个专栏。这样就可以了吗?
回复:使用 JSL 拟合模型中的“数据表中未找到指定列”T_VALUE 是数据列还是表变量?拟合最小二乘法需要 Y 角色中的数据列。
回复:使用 JSL 拟合模型中的“数据表中未找到指定列”你好,谢谢你的回答。
我尝试了一下,得到了同样的错误:
数据:T_VALUE = 1;
在数据表中找不到指定的列。{4759} 在访问或评估“List”时,{/*###*/data:T_VALUE}
回复:使用 JSL 拟合模型中的“数据表中未找到指定列”当 JMP 继续运行拟合模型时,它可能尚未完成打开数据表。如果是这种情况,通过添加运行公式请求将强制 JMP 完成 Open() 函数,并且应该可以解决该问题。
data = Open( "C:/Users/taviad/Desktop/Sheet1.jmp" );
data << run formulas;
model = data << Fit Model(
Y( data:T_VALUE ),
Effects( data:x, data:y, data:z, data:c ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(),
Where( data:b == "param1" & data:n == "param2" ),
);