# 如何在图表中使用 chi2-test 函数的示例

chi2-test 函数用于查找与卡方统计分析相关的值。本节介绍如何通过使用样本数据查找 QlikView 可用的卡方分布检验函数值来创建图表。有关语法和参数说明，请参阅单独的 chi2-test 图表函数主题。

## 为样本加载数据

有三个样本数据集合，它们介绍了可载入脚本的三个不同的统计样本。

执行以下操作：

1. 创建新文档。

2. 在工具栏中选择编辑脚本并将以下内容添加到脚本中：

   `// Sample_1 data is pre-aggregated... Note: make sure you set your DecimalSep='.' at the top of the script.` `Sample_1:` `LOAD * inline [` `Grp,Grade,Count` `I,A,15` `I,B,7` `I,C,9` `I,D,20` `I,E,26` `I,F,19` `II,A,10` `II,B,11` `II,C,7` `II,D,15` `II,E,21` `II,F,16` `];` `// Sample_2 data is pre-aggregated: If raw data is used, it must be aggregated using count()...` `Sample_2:` `LOAD  * inline [` `Sex,Opinion,OpCount` `1,2,58` `1,1,11` `1,0,10` `2,2,35` `2,1,25` `2,0,23 ] (delimiter is ',');` `// Sample_3a data is transformed using the crosstable statement...` `Sample_3a:` ` crosstable(Gender, Actual) LOAD  ` `Description,` `[Men (Actual)] as Men,` `[Women (Actual)] as Women;` `LOAD * inline [` `Men (Actual),Women (Actual),Description` `58,35,Agree` `11,25,Neutral` `10,23,Disagree ] (delimiter is ',');` `// Sample_3b data is transformed using the crosstable statement...` `Sample_3b:` ` crosstable(Gender, Expected) LOAD  ` `Description,` `[Men (Expected)] as Men,` `[Women (Expected)] as Women;` `LOAD * inline [` `Men (Expected),Women (Expected),Description` `45.35,47.65,Agree` `17.56,18.44,Neutral` `16.09,16.91,Disagree ] (delimiter is ',');` `// Sample_3a and Sample_3b will result in a (fairly harmless) Synthetic Key...`

3. 保存脚本并单击重新加载以加载数据。

## 创建 chi2-test 图表函数图表

示例： 样本 1

执行以下操作：

1. 向工作表添加表格框并添加 Grp, Grade 和 Count 作为维度。

   此表格将显示样本数据。

2. 添加具有以下计算维度的垂直表：

   `ValueList('p','df','Chi2')`

   这样可以使用组合维度函数为具有三个 chi2-test 函数名称的维度创建标签。

3. 添加以下表达式：

   `IF(ValueList('p','df','Chi2')='p',Chi2Test_p(Grp,Grade,Count),` `IF(ValueList('p','df','Chi2')='df',Chi2Test_df(Grp,Grade,Count),` `Chi2Test_Chi2(Grp,Grade,Count)))`

   这样可以将表格中每个 chi2-test 函数的结果值放在其相关组合维度旁。

4. 将表达式的数字格式设置为数字，并将精度设置为 3。

提示注释在表达式中，您可以改用以下表达式：  
`Pick(Match(ValueList('p','df','Chi2'),'p','df','Chi2'),Chi2Test_p(Grp,Grade,Count),Chi2Test_df(Grp,Grade,Count),Chi2Test_Chi2(Grp,Grade,Count))`

**结果：**

样本 1 数据的 chi2-test 函数结果表格中将包含以下值：

示例结果

| p | df | Chi2 |
| --- | --- | --- |
| 0.820 | 5 | 2.21 |

示例： 样本 2

执行以下操作：

1. 向工作表另外添加一个表格框并添加 Sex, Opinion 和 OpCount 作为维度。

2. 使用复制到剪贴板：/对象和粘贴工作表对象命令从样本 1 复制一份垂直表的结果。编辑表达式，并将所有三个 chi2-test 函数中的参数替换为 Sample 2 数据中使用的字段名称，例如：`Chi2Test_p(Sex,Opinion,OpCount)`。

**结果：**

样本 2 数据的 chi2-test 函数结果表格中将包含以下值：

示例结果

| p | df | Chi2 |
| --- | --- | --- |
| 0.000309 | 2 | 16.2 |

示例： 样本 3

执行以下操作：

1. 以样本 1 和样本 2 数据示例中的相同方式再创建一个表格框和一个垂直表。在表格框中，使用以下字段作为维度：Gender、Description、Actual 和 Expected。
2. 在结果直览表中，使用示例 3 数据中使用的字段名称，例如：`Chi2Test_p(Gender,Description,Actual,Expected)`。

**结果：**

样本 3 数据的 chi2-test 函数结果表格中将包含以下值：

示例结果

| p | df | Chi2 |
| --- | --- | --- |
| 0.000308 | 2 | 16.2 |