JMP 脚本 - 如何更改“单元格”的值<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我想知道如何编写脚本来更改作为脚本计算结果的“单元格”的值。
具体来说,如果计算的值为负,我希望能够将单元格的值更改为“0”,同时保留所有其他“单元格”。
即使它需要在新列中,也没关系。 例如,如果我有我的计算值列,而我关心的是负数,请创建一个新列,该列只会为该“单元格”显示“0”。
提前致谢。
回复:JMP 脚本 - 如何更改“单元格”的值一个班轮....
dt[dt<< 获取行 where(:ageval < 14)] = 0;
回复:JMP 脚本 - 如何更改“单元格”的值对于这种情况,您可以使用“范围检查”列属性。 这样表就可以携带元数据,并且您不需要另一个表:
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Wait(2);
Column(dt, "age") << rangeCheck( !LT( 13 ) );
Column(dt, "weight") << rangeCheck( LT( 100 ) );回复:JMP 脚本 - 如何更改“单元格”的值您必须更改公式以检查要更改的值,然后在公式中使用条件语句将其更改为所需的值。
// Sample formula
:A + :B;
If( isMissing(:A+:B) == 1, 0 );
回复:JMP 脚本 - 如何更改“单元格”的值嗨,吉姆,
如果您有 IF 命令中定义的“else”和第三种选择,那么这个脚本的形式是什么?
最好的,
ķ
回复:JMP 脚本 - 如何更改“单元格”的值伊恩,
我喜欢矩阵方式,但是如果我想清理几列清洁条件不同的列,该怎么办。
例如在大班
age --> 将所有值 < 13 的单元格设置为空
height --> 将所有值 > 100 的单元格设置为空
假设我有一些所有列条件的参考表。
回复:JMP 脚本 - 如何更改“单元格”的值能发一下公式吗?作为特克斯尼尔森说您可以简单地使公式的检查部分。
要发布公式:
1. 打开您的数据集,然后单击公式列旁边的 + 号。
2. 在公式窗口内双击。这将更改窗口以显示公式的 JSL 代码
3.复制JSL代码并发布到本论坛。
新公式将如下所示:
时间=放-原来的-公式-这里;
如果(时间< 0 , 0 ,时间) ;
回复:JMP 脚本 - 如何更改“单元格”的值您当然可以将条件检查作为公式的一部分
回复:JMP 脚本 - 如何更改“单元格”的值将测试作为公式的一部分有意义吗?
如果(匹配( ... ) < 0 ,
0 ,
匹配( ... )
)
回复:JMP 脚本 - 如何更改“单元格”的值谢谢你们。
我要做的是更改包含公式的列的单元格的值。
大类列“年龄”不是来自公式,因此所有这些建议都可以更改单元格的值。
我有一个列,称为“测试”,它使用匹配公式。 如果匹配公式将其计算为负数,是否有办法编写脚本以将该列中单元格的值更改为零? 如果它是负数,我希望能够将值强制为零。
回复:JMP 脚本 - 如何更改“单元格”的值我将再迈出这一步。很多次我都做过与伊恩类似的事情。从数据表中取出数据并使用矩阵运算符。这具有处理大量数据的性能优势。但是以下是我使用过很多次的技术,因为它非常快,并且不需要从数据表中提取。
名称默认为此处(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
尝试(dt:Age[dt << 获取行 where(:Age < 14)] = 0);
“Try”函数只是防止 Get Rows Where 可能返回空矩阵的情况,并且赋值会引发错误。
回复:JMP 脚本 - 如何更改“单元格”的值根据 Jim 的回复,如果可能的话,通常认为避免循环是一种很好的做法:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Get the values of age into a vector
ageVals = dt:Age << getValues;
// Find the location of age values less than 14
ageValsLessThan14 = Loc(ageVals < 14);
// Set these values to zero
ageVals[ageValsLessThan14] = 0;
// Put the new values back into the column
dt:Age << setValues(ageVals);
回复:JMP 脚本 - 如何更改“单元格”的值丽贝卡,
我想知道您的要求是否需要在比贾斯汀展示的更基本的层面上进行解释。他的示例确实为您提供了答案,但是,按照您描述问题的方式,我可以推测条件语句的组件可能来自当前数据表以外的来源的情况。
JMP 数据表的基础之一是任何单元格都是可直接寻址的。使用贾斯汀答案中的数据表,只需指定列名和行号即可访问任何单元格。
:Age[1]
指向 Age 列的第一行值。一个更正确的引用方式是使用数据表指针(数据表命名空间)。因此,如果 Justin 的响应中指定的指向数据表的指针是“dt”,那么
dt:Age[1]
是更合适的形式。
以 Justin 为例,我们实际上可以更改适当的值,而不必创建新列。下面的代码将做到这一点
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
For( I = 1, I <= N Rows( dt ), I++,
if(dt:Age < 14,
dt:Age = 0
);
);
回复:JMP 脚本 - 如何更改“单元格”的值以下是复制到新列时如何有条件地更改单元格的示例:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
col = dt << New Column( "New Column", Formula( If( :age < 14, 0, :age ) ) );
在您的情况下,您会将条件更改为小于零而不是 14。