如何选择具有多个条件组合的行你好,
我正在尝试使用以下标准在大型数据集中隔离一个特定组:所有对 2 个特定问题回答是的受试者和所有对任何 3 个其他问题回答是的受试者的总和(问题总数 = 9)。 我能够相当容易地分离出满足第一个标准的受试者,但不知道如何选择满足第二个标准的受试者(假设所有满足第一个标准的受试者都从感兴趣的样本中移除以避免对它们进行两次计数)。 任何帮助将不胜感激!
回复:如何选择具有多个条件组合的行感谢您的信息! 将 Fruit_Scanner==“2” 修改为 Fruit_Scanner==2 就像一个魅力。 使用它我终于能够使用以下方法获得我正在寻找的行:
dt =打开( “我的文件.jmp” ) ;
dt <<选择位置( :测试耐力_T1 == 1个| : teststrong_T1 == 1个|和( : testenjoy_T1 == 1个, : testsad_T1 == 1个, :测试运动_T1 == 1个, : testsleep_T1 == 1个,
:测试执行_T1 == 1个, : testlibido_T1 == 1个, :男性能量_T1 == 1个) >= 3个) ;
再次感谢所有的一切!
回复:如何选择具有多个条件组合的行我怀疑 Fruit_scanner 和 Vegitable_Scanner 列是数字,而不是字符。在您的“非工作”示例中,您将比较指定为:
Fruit_Scanner==“2”。
如果 Fruit_Scanner 是数字列,则比较将是:
Fruit_Scanner==2
还要查看 Fruit_scanner 的实际值。我以为您指出值是 0 或 1。如果这是真的,那么您需要寻找:
Fruit_Scanner==1个
我发布的原始回复是需要使用的格式才能得到你想要的。需要的是列的实际名称和这些列中的实际值。如果你能提供,我想我可以给你 JSL
回复:如何选择具有多个条件组合的行谢谢吉姆! 我尝试用 1 替换 4,因为我知道这种组合至少适用于一行,但仍然没有选择任何内容。 总的来说,我希望从一组 7 个问题中选择具有“是”(编码为 1)的行作为至少 3 个问题的答案(因此总共 >=3)。 任何提示将非常感谢。
再次感谢!
回复:如何选择具有多个条件组合的行您似乎缺少逻辑是如何工作的。你下面所拥有的总和永远不会大于一。
布尔比较的结果总是 0 或 1。
因此,如果您要检查名为 X 的变量的值是否为 22,则比较器或
X==22 为真时返回 1,为假时返回 0。
在下面的示例中,比较器是
Fruit+Screener == "2" & Vegitables_Screener == "2" 只能为 true(1) 或 False(0)。
总和只能是 0 或 1,绝不能是 4
回复:如何选择具有多个条件组合的行感谢您的快速回复杰夫! 添加“”就可以隔离与该特定 ID 号匹配的行。 由于我实际上不知道是否有任何行符合前面提到的 7 个问题集中至少 3 个问题的“是”(编码为 1)回答的标准,所以我尝试为几个变量输入求和命令我知道应该返回一些东西。 这是我尝试过的:
dt =打开( “我的文件.jmp” ) ;
dt <<选择位置(和( :Fruit_Screener == “2” & :Vegetables_Screener == “2” ) == 4个) ;
不幸的是什么也没发生。 我知道至少有一行满足这两个变量的“否”(编码为 2)标准,但没有发生选择。 变量名称中的 _ 可能是一个问题还是求和公式有误?
再次感谢!
回复:如何选择具有多个条件组合的行
@Jeff_Perkinson写道:
请记住显示字符列正确的左对齐和数字列是左边正确的。
我的左手和右手在上面搞砸了。 对不起!
-杰夫
回复:如何选择具有多个条件组合的行您的 ID 列是字符还是数字?
请记住显示字符列正确的左对齐和数字列是左边正确的。
如果您的列是字符,则需要将 ID 值放在双引号中以便进行比较。
例如:
:ID=="1234"
回复:如何选择具有多个条件组合的行您的 ID 列是字符还是数字?
请记住,字符列是右对齐显示的,数字列是左对齐的。
如果您的列是字符,则需要将 ID 值放在双引号中以便进行比较。
例如:
:ID=="1234"
回复:如何选择具有多个条件组合的行谢谢你们! 我尝试修改代码,但仍然无效,所以我查阅了 JMP 脚本指南以尝试解决问题。 我能够使用此代码选择所有行:
dt = 打开( “我的文件.jmp” ) ;
dt<<选择所有行;
因为这行得通,所以我尝试使用比原始代码更简单的代码,我必须看看我是否可以使用 JMP 指令让事情走上正轨。 我尝试遵循以下代码但未成功:
dt =打开( “我的文件.jmp” ) ;
dt <<选择位置( :ID==10322 ) ;
我运行它时没有出现任何错误消息,但什么也没发生。 我检查了应该选择但仍未选择的特定行。 我又试了一次,但还是一无所获。 进入脚本日志,我发现了以下内容:
//:*/
dt = Open( "myfile.jmp" );
dt << 选择哪里( :ID==10322 );
/*:
脚本[]
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << 选择哪里( :ID==10322 );
我尝试将代码切换为 ID=10322 以查看它是否会有所作为并得到以下信息:
/*:
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << 选择哪里( :ID=10322 );
/*:
使用==进行比较,=为赋值
使用==进行比较,=是赋值{1}
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << 选择哪里( :ID=10322 );
/*:
使用==进行比较,=为赋值
使用==进行比较,=是赋值{1}
//:*/
dt = Open( "Pre_Post_Freshman_Screener_.jmp" );
dt << 选择哪里( :ID=10322 );
/*:
我不禁认为这一定是一个简单的错误,但我仍然很困惑。 有什么想法吗?
再次感谢你的帮助!
回复:如何选择具有多个条件组合的行马克在下面的评论是正确的。在我给你的例子中,它有一条评论
/* or >= 3 if that is what you want */
嵌入一行代码。这种注释以“/*”开头,寻找“*/”结束注释。因为你的代码只有 /*,");"下一行被认为是正在进行的评论的一部分
回复:如何选择具有多个条件组合的行您在倒数第二行开始评论,因此看不到右括号。
回复:如何选择具有多个条件组合的行非常感谢吉姆的快速回复。 使用我的变量和 1 作为是代码,我尝试了你给我的:
dt =当前数据表() ;
dt <<选择行(
测试耐力_T1 == “1” & teststrong_T1 == “1” &和(
testenjoy_T1 == “1” ,
testsad_T1 == “1” ,
测试运动_T1 == “1” ,
testsleep_T1 == “1” ,
测试执行_T1 == “1” ,
testlibido_T1 == “1” ,
男性能量_T1 == “1”
) > = 3个/*
);
并收到以下错误:
输入意外结束。 可能缺少“,”或“)”。 试图解析函数“select rows where”的参数。 第 12 行第 4 列:);►
我检查了第 12 行,它不符合任何纳入标准。 我显然遗漏了一些东西,但无法弄清楚是什么。
再次感谢!
回复:如何选择具有多个条件组合的行下面是一个“Select Rows Where”脚本,显示了您需要执行的操作的逻辑。如果您想以交互方式执行此操作,只需获取语句的逻辑组件并将其构建在:
行==>行选择==>选择哪里
dt = Current Data Table();
dt << select rows where(
q1 == "Yes" & q2 == "Yes" & Sum(
q3 == "Yes",
q4 == "Yes",
q5 == "Yes",
q6 == "Yes",
q6 == "Yes",
q7 == "yes",
q8 == "Yes",
q9 == "Yes"
) == 3 /* or >= 3 if that is what you want */
);