【问题标题】:Determining Total Frequency of a Numeric ID with Several ID and Frequency Columns确定具有多个 ID 和频率列的数字 ID 的总频率
【发布时间】:2018-01-05 01:45:36
【问题描述】:

对于令人困惑的标题,我深表歉意,我添加了一个示例来澄清。我相信这实际上很容易,但是我一生都无法确定如何去做。本质上,我有很长的 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 可以做到这一点,但我不确定如何去做。

对于这个基本问题,我深表歉意,期待任何 cmets,并将提供任何答案和澄清。

【问题讨论】:

  • 让我们从最终 ID 代码列开始。是需要动态创建,还是手动创建可以?
  • 我有一个所有可能的最终 ID 的列表,所以我可以很容易地手动创建列,而不是频率。感谢您的评论,希望这能澄清这一点!

标签: excel macros spss


【解决方案1】:

在 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).

原始数据现在将以长格式组织,更易于分析。汇总的频率将出现在一个名为“summary”的新数据集中。

如果您的文件中有更多数据列,则将所有变量名放在语法中可能会很麻烦。您可以通过在变量视图窗口中按名称对变量进行排序并从那里复制它们来缩短过程。
但是如果你要重复这个过程并且每次运行可能有不同数量的变量,你应该完全自动化这个过程。你可以这样做:

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.

【讨论】:

    【解决方案2】:

    尝试使用 SUMIFS 功能。这是我在单元格 F2 中的内容:

        `=SUMIFS($B$2:$B$4,$A$2:$A$4,E2) + SUMIFS($D$2:$D$4,$C$2:$C$4,E2)`
    

    然后我将其复制到下面的单元格中。 E2 在第 2 个数据行中变为 E3,然后 E4 在第 3 个数据行中。

    希望这个示例能让您了解它的工作原理。您可能需要进行一些调整以考虑更多行,如果您没有像我一样的 A-F 列。

    【讨论】:

      猜你喜欢
      • 2023-01-23
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      相关资源
      最近更新 更多