【发布时间】:2015-04-10 13:32:45
【问题描述】:
我的背景是数据库和 SQL 编码。我在 SPSS 中使用了一点 CTABLES 功能,主要用于计算 sql 中速度较慢的百分位数。但是现在我有一个数据集,我需要在其中计算加权平均值的百分位数,这并不那么简单,而且我不知道在 SPSS 中是否可以。
我有类似以下的数据
Country Region District Units Cost per Unit
USA Central DivisionQ 10 3
USA Central DivisionQ 12 2.5
USA Central DivisionQ 25 1.5
USA Central DivisionQ 6 4
USA Central DivisionA 3 3.25
USA Central DivisionA 76 1.75
USA Central DivisionA 42 1.5
USA Central DivisionA 1 8
USA Eastern DivisionQ 14 3
USA Eastern DivisionQ 25 2.5
USA Eastern DivisionQ 75 1.5
USA Eastern DivisionQ 9 4
USA Eastern DivisionA 100 3.25
USA Eastern DivisionA 4 1.75
USA Eastern DivisionA 33 1.5
USA Eastern DivisionA 17 8
452 51
对于每个可能的细分(国家、国家-地区、国家-地区-地区、国家-地区等) 我想获得平均值。每单位成本,即。按单位加权的单位成本,即总 SUM(Units*CostPerUnit)/SUM(Units)
我需要为每个可能的细分获取第 10、25、50、75、90 个百分位数。
我在 SQL 中执行此部分的方式是提取段中的所有行,按单位成本进行排序和排名。获取每行的 Units 运行总和。确定该运行总和与总单位的比率,该百分比确定哪一行具有该百分位数的单位成本。例如,Country = USA 和 Division = Q
Unit Running
Country Units Cost Unit divided by
Per Unit Running Total Units
USA Central DivisionQ 25 1.5 25 0.14 10th
USA Eastern DivisionQ 75 1.5 100 0.56 25th/50
USA Central DivisionQ 12 2.5 112 0.63
USA Eastern DivisionQ 25 2.5 137 0.77 75th
USA Central DivisionQ 10 3 147 0.83
USA Eastern DivisionQ 14 3 161 0.91 90th
USA Central DivisionQ 6 4 167 0.94
USA Eastern DivisionQ 9 4 176 1
每个段都需要很长时间。是否可以利用 SPSS 更轻松地做同样的事情?
【问题讨论】:
标签: spss