大家好,我是 JSL 的新手,我陷入了一项看似简单的任务中。
假设我有两列 A 和 B,并且有一些缺失值。
我想创建一个新列作为 A 列和 B 列的连接。
如下例所示。
谢谢!

令人惊奇的是,这些事情在 JMP 中是多么容易 - 即使是手工操作(如果模式不规则且表有 5 个 mio 条目,也没有问题)。
只需观看此视频@brady_brady :
栏目菜单(约 2 分钟)
替代方法:
使用合并列插件经过@约翰_马登
只要两列中只有一列具有非缺失值,您就可以尝试“Sum()”。 看下表中的公式:
eNew Table( "Both",
Add Rows( 4 ),
New Column( "a",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [., 1, ., 3] )
),
New Column( "b",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [., ., 2, 4] )
),
New Column( "c",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Sum( :a, :p</img> ) )
)
)
我遇到了同样的问题,但是这里提供的代码不起作用。 我正在处理连续数据,也许这就是问题所在? 或者是我的变量名称比 SAS 允许的长度长,因此在 JSL 中使用它们会产生错误?
我的数据子集如下所示:
| 标准URM1BLFI | 标准URM1BLMI | |
| 。 | 。 | |
| -0.0316815 | 。 | |
| 。 | -0.33056098 | |
我希望第三列包含其他两列的数据(或根据需要保留缺失的数据值),例如:
| 标准URM1BLFI | 标准URM1BLMI | Z分数 |
| 。 | 。 | 。 |
| -0.0316815 | 。 | -0.0316815 |
| 。 | -0.33056098 | -0.33056098 |
谢谢你!
这是几个简单的例子
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << New Column( "New Column", character, formula( name || sex ) );
// or
dt << New Column( "Second New Column", character );
For( i = 1, i <= N Rows( dt ), i++,
dt:Second New Column[i] = dt:name[i] || dt:sex[i]
)are