对于令人困惑的标题,我深表歉意,我添加了一个示例来澄清。我相信这实际上很容易,但是我一生都无法确定如何去做。本质上,我有很长的 ID 列表及其相应的频率,大约 45 个列表都很长。我想确定每个 ID 的总频率,但问题是每个 ID 不在每个列表中。我尝试将数据导入access,但操作过于复杂,导致访问出错。
如果 If 语句有离散数量的 ID,我将能够在 SPSS 中执行此操作,但总共有大约 10,000 个 ID,需要一种快速执行此操作的方法。
数据看起来像这样,有 50 个 ID 代码列和一个关联的频率列。
ID CODE Frequency ID CODE Frequency
0001 3 0002 3
0002 4 0003 4
0003 2
预期产出
ID CODE Frequency ID CODE Frequency Final ID Code Total Frequency
0001 3 0002 3 0001 3
0002 4 0003 4 0002 7
0003 2 0003 6
我认为这可以通过 vlookup 实现,但我不确定如何去做。
对于这个基本问题,我深表歉意,期待任何评论,并将提供任何答案和澄清。
最佳答案
在 SPSS 中计算总频率很容易。将文件读入 SPSS 后,运行以下语法:
(这假设变量名称会以这种方式自动更改:IDCODE Frequency IDCODE_A Frequency_A IDCODE_B Frequency_B etc')
varstocases /make FinalID from IDCODE IDCODE_A IDCODE_B
/make fr from Frequency Frequency_A Frequency_B.
dataset name orig.
dataset declare summary.
aggregate /outfile=summary /break=FinalID /TotalFreq=sum(fr).
原始数据现在将以长格式组织,更易于分析。汇总的频率将出现在一个名为“汇总”的新数据集中。
如果文件中有更多数据列,则将所有变量名放入语法中可能会很麻烦。您可以通过在变量 View 窗口中按名称对变量进行排序并从那里复制它们来缩短过程。
但是如果你要重复这个过程并且每次运行可能有不同数量的变量,你应该完全自动化这个过程。你可以这样做:
spssinc select variables macroname="!ID" /properties pattern = "IDCODE*".
spssinc select variables macroname="!FRQ" /properties pattern = "Frequency*".
这些命令会自动定义您现在可以像这样使用的变量列表:
varstocases /make FinalID from !ID
/make fr from !FRQ.
关于excel - 确定具有多个 ID 和频率列的数字 ID 的总频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48106099/