条形图中的 Spotfire 修剪平均值
Spotfire trimmed mean in bar plot
我在 Spotfire 中有一个条形图,显示每组变量的平均值。我不想使用均值,而是使用修剪后的均值来使其对异常值更加稳健。我是 Spotfire 的新手,我该怎么做?修剪均值意味着对您的值进行排序,切断第一个和最后一个 x% 并取其余部分的平均值。
您可以使用 Percentile()
来限制它。您可以在表达式中使用它或插入计算列。这是计算列示例,因此您可以看到有什么限制。
在工具栏上,插入 > 计算列 > If([ValueColumn]>=Percentile([ValueColumn],10),True,False) as [InRange]
这将为每行设置一个 TRUE BOOLEAN
值,如果它 >= 10%,如果不是,则为 FALSE
。如果您愿意,可以使用 属性 控件代替硬编码 10。然后,您可以在图表中引用此列,例如:
If([InRange] = TRUE,Avg([ValueColumn])) as [LimitedMean]
我附上了一张图片来显示结果。如果这不起作用,您可以使用 Rank(), DenseRank(), and RankReal()
对数据进行排序,然后以这种方式进行限制。
最后,您可以像这样在条形图中执行所有这些操作 "in line":
If([ValueColumn]>=Percentile([ValueColumn],10),Avg([ValueColumn]))
我在 Spotfire 中有一个条形图,显示每组变量的平均值。我不想使用均值,而是使用修剪后的均值来使其对异常值更加稳健。我是 Spotfire 的新手,我该怎么做?修剪均值意味着对您的值进行排序,切断第一个和最后一个 x% 并取其余部分的平均值。
您可以使用 Percentile()
来限制它。您可以在表达式中使用它或插入计算列。这是计算列示例,因此您可以看到有什么限制。
在工具栏上,插入 > 计算列 > If([ValueColumn]>=Percentile([ValueColumn],10),True,False) as [InRange]
这将为每行设置一个 TRUE BOOLEAN
值,如果它 >= 10%,如果不是,则为 FALSE
。如果您愿意,可以使用 属性 控件代替硬编码 10。然后,您可以在图表中引用此列,例如:
If([InRange] = TRUE,Avg([ValueColumn])) as [LimitedMean]
我附上了一张图片来显示结果。如果这不起作用,您可以使用 Rank(), DenseRank(), and RankReal()
对数据进行排序,然后以这种方式进行限制。
最后,您可以像这样在条形图中执行所有这些操作 "in line":
If([ValueColumn]>=Percentile([ValueColumn],10),Avg([ValueColumn]))