将多个单冲/二元变量合并为一个变量<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一组数据,我们询问受访者从事哪个行业。 他们得到了一小部分选项,并且只能选择一个。 当数据从处理中返回时,单个问题会被分解为每个选项一个变量,而不是具有多个编码标签的单个变量。 我试图弄清楚如何使用 JMP 公式读取案例中的每个变量,并根据 1 或“是”所在的位置在新变量中应用适当的编码标签。
我可以轻松地在 Excel 中执行此操作并将数据导入回 JMP,但我真的很想了解如何在 JMP 中执行此操作。
有谁有一个使用公式将多个二元变量分解为一个的好例子吗?
回复:将多个单冲/二元变量合并为一个变量另一种方法:堆叠数据表(表格菜单)并删除所有无行(右键单击“否”,选择“选择匹配单元格”,然后从行菜单)。
JSL 中相同:
dt =数据表( “数据子集.jmp” ) <<堆(
列(
:作品1 ,
:工作SC2 ,
:工程c3 ,
:工作SC4 ,
:工作SC5 ,
:工作SC6 ,
:工作SC7 ,
:工作SC8
) ,
源标签列( “标签” ) ,
堆叠数据列( “数据” )
) ;
dt <<选择地点( :数据== 0 ) <<删除行;
回复:将多个单冲/二元变量合并为一个变量感谢您澄清代码块中的逻辑。
回复:将多个单冲/二元变量合并为一个变量: 前缀告诉 JMP 这是一列。您只能使用:列名如果列名称中没有“有趣”的字符,例如 /&*^%$# 等。
JMP 会将任何正整数评估为 TRUE,因此我只使用列值而不是将其与 1 进行比较。
这两组 JSL 语句是等效的:
ABC = 1 ;
如果( ABC ,打印( “abc 为真” )) ;
XYZ = 1 ;
如果( XYZ == 1 ,打印( “xyz 为真” )) ;
日志显示此输出:
“abc 为真”
“xyz 为真”
回复:将多个单冲/二元变量合并为一个变量谢谢 PMroz,看起来我最终达到了你所做的那样,正如你在下面的帖子中看到的那样。
回复:将多个单冲/二元变量合并为一个变量这是一种方法:
1.新建一列,例如回复,并使其成为特点类型
2. 单击列属性 > 公式
3. 单击编辑公式
3.双击公式矩形并输入以下代码:
如果(:worksc1, "Worksc1", :worksc2, "Worksc2", :worksc3, "Worksc3", :worksc4, "Worksc4", :worksc5, "Worksc5", :worksc6, "Worksc6", :worksc7, "Worksc7" ,:worksc8,“Worksc8”)
基本上,它是一个巨大的 IF 语句,用于查找 Yes 值(编码为 1)。响应列现在将显示哪一列包含“是”。
回复:将多个单冲/二元变量合并为一个变量所以我最终做的是创建一个嵌套 IF,如下所示。 然后我进去为每个点添加了值标签,我基本上得到了我想要的东西,但我很好奇是否有更好的方法来达到我最终的目的。 我已附上包含我的解决方案的示例数据。
关于我所写内容的一些注释,最后的 if 语句完全没有必要,并且讽刺的是,在引用之外包含 Error 会导致错误。

回复:将多个单冲/二元变量合并为一个变量我在原来的帖子中附上了一个示例。
受访者会被问到这样的问题:
您从事以下哪个行业? (选择一项回复)
工业1
工业2
工业3
工业4
工业5
工业6
工业7
工业8
由于受访者只能选择一个答案,因此我希望这个问题作为单个变量输出,每个可能的行业作为该变量的编码选项。 我得到的是每个选项的一个变量。
有了样本数据,这是否能让我所寻找的内容更加清晰?
回复:将多个单冲/二元变量合并为一个变量您能提供您的数据样本吗?JMP 具有非常强大的命令,例如 STACK 和 SPLIT,这可能会有所帮助。