你好,
我正在尝试编写一个脚本,该脚本使用一列来选择那里的匹配单元格,然后使用这些选定的行来查找旁边列中数字的平均值,但我不太确定如何做到这一点。 这是我正在处理的示例表(最后一个平均列是我需要脚本执行的操作):
| 匹配栏: | 数字: | 分组数的平均值 |
| A | 2 | 3 |
| A | 4 | 3 |
| 乙 | 2 | 4 |
| 乙 | 4 | 4 |
| 乙 | 6 | 4 |
| C | 3 | 6 |
| C | 6 | 6 |
| C | 9 | 6 |
| d | 2 | 2 |
| d | 2 | 2 |
您不需要为此编写脚本。 这列平均值()公式编辑器中的函数将通过分组列计算平均值。
我附上了根据您发布的示例制作的数据表,以便您可以看到它在 JMP 本身中的样子。

有多种方法可以解决此问题,但我发现最简单的方法是使用
表格==>总结
进行汇总,然后将汇总数据合并回原始表中。这是一个简单的脚本,使用您的示例数据来执行此操作
Names Default To Here( 1 );
// Create an example data table
dt = New Table( "Example",
Add Rows( 10 ),
New Column( "Matching Column",
Character,
"Nominal",
Set Values( {"a", "a", "b", "b", "b", "c", "c", "c", "d", "d"} )
),
New Column( "Numbers",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [2, 4, 2, 4, 6, 3, 6, 9, 2, 2] )
)
);
// Pause so one can see the original table
wait(5);
// Summarize the data
dtSum = dt << Summary(
invisible,
Group( :Matching Column ),
Mean( :Numbers ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" ),
Link to original data table( 0 ),
output table name( "Means" )
);
// Adjust items in summary data to allow for proper merging
dtSum << delete columns( "N Rows" );
dtSum:Numbers << Set Name( "Average of grouped numbers" );
// Add the summary data to the original data table
dt << Update( With( dtSum ), Match Columns( :Matching Column = :Matching Column ) );
// Clean up the environment
Close( dtSum, nosave );