搜索列中的值 - JSL大家好,
任何人都可以帮助我在列中搜索特定值并尝试查找该值与总数的计数吗? 在下面的示例中,我尝试在 B 列中搜索值“1”。 我发现 10 个实例中出现了 3 次,因此 C 被标记为 30%。 类似地,对于 A=2,我发现 12 个实例中出现了 4 次“1”,因此 C 被标记为 33%。
| A | 乙 | C |
| 1 | 1 | 30% |
| 1 | 87 | |
| 1 | 90 | |
| 1 | 65 | |
| 1 | 1 | |
| 1 | 65 | |
| 1 | 3 | |
| 1 | 1 | |
| 1 | 34 | |
| 1 | 5 | |
| 2 | 1 | 33% |
| 2 | 5 | |
| 2 | 2 | |
| 2 | 47 | |
| 2 | 1 | |
| 2 | 54 | |
| 2 | 1 | |
| 2 | 85 | |
| 2 | 1 | |
| 2 | 1 | |
| 2 | 22 | |
| 2 | 21 | |
谢谢
回复:在列中搜索值 - JSL您几乎可以在 JMP 中做任何您想做的事情,所以是的,有很多方法可以做您想做的事情。 但是,您拥有的结构是数据表,它的默认值基于基于列的分析表结构,而不是像 Excel 那样基于单元格的结构。
为了完成您所要求的事情,我会执行以下操作。
转到百分比列的“列信息”。
在“列信息”窗口中,删除公式属性。 这将保留值,但删除公式。
然后将“数据类型”从数字更改为字符
关闭“列信息”窗口
现在去删除您不需要的单元格值。
回复:在列中搜索值 - JSL有没有办法不重复值? 如图所示,每个 1 都对应于 %。 如果我有多个 1,每个 1 旁边都会有 30%。 我可以让它在每个 A 组中出现一次,就像上面的示例一样吗? 帮助我进行绘图和后续分析。回复:在列中搜索值 - JSL您将“col number()”错误拼写为“col num()”
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "thepercent",
formula( Col Number( :height, :height ) / Col Number( :height ) )
);
回复:在列中搜索值 - JSL你好
我检查了上校编号。 你是这个意思吗?但这行不通。
名称默认为此处( 1 );
打开(“$SAMPLE_DATA/Big Class.jmp”);
列号( :height,:height )/列号( :height )
回复:在列中搜索值 - JSL哇。 这真太了不起了。 谢谢你,特克斯尼尔森回复:在列中搜索值 - JSL我认为这应该有效:
列号(:b, :a,
)/列号(:b, :a)
您需要查看脚本索引中有关 Col Number() 的文档
帮助==>脚本索引==>列号
回复:在列中搜索值 - JSL感谢您的快速解决方案。 有没有办法按A列分隔。 例如,我们可以不将所有 7 个 1 和 22 个值放在一起,而是通过 A 列 (10, 12) 并获取相应列 % 统计数据来实现吗?
谢谢。回复:在列中搜索值 - JSL:p代表原始问题中列出的数据表中的“b”列。 公式,
列号( :b, :b) / 列号(
)
被解释为:
对于 b 列的当前行值,b 列中所有值的计数除以 b 列值的总数。
在您提供的示例数据中,第一行的计算为:
在 b 列中找到的与 b 列的值匹配的值的计数。 也就是说,b 列第一行的值为“1”,因此它将统计 b 列中找到的“1”的数量,即 8 个。 然后除以 b 列中找到的值的总数,即 22。
对于 Tabulate 平台,您要做的是将 b 列的建模类型更改为 Nominal,这样 Tabulate 就会将该列视为分组列。 然后,您可以将 b 列拖到行的放置区域。 然后我将列出 b 列中找到的每个值。 默认情况下,列出的统计列是计数(N)。 要将其更改为“列 %”,您只需将“列 %”统计数据拖动到“N”列,它就会将该统计数据替换为“% 列”

回复:在列中搜索值 - JSL谢谢你,特克斯尼尔森。 什么是:p代表? 抱歉,这个想法还是新的。 我也尝试了制表,我真的不明白我应该用作分组列的语法?回复:在列中搜索值 - JSL您可以使用制表平台并指定“列总计百分比”作为统计数据。
您还可以创建一个新列并使用以下公式来获取答案
Col Number( :b, :p</img> ) / Col Number( :p</img> )