我的背景是数据库和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(单位* CostPerUnit)/ SUM(单位)
我需要为每个可能的细分获得第10,25,50,70,90百分位数 .
我在SQL中执行此部分的方式是提取段中的所有行,按每单位成本排序和排名 . 获取每行的单位运行总和 . 确定运行总和与总单位的比率,该百分比确定哪一行具有该百分位数的每单位成本 . 例如,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更容易地做同样的事情?
1 回答
使用SPLIT FILES(数据>选择个案)定义组,然后使用FREQUENCIES(分析>描述统计>频率)计算统计数据 . 抑制实际频率表(/ FORMAT = NOTABLE) .