首页 > 解决方案 > R中子集的交叉表

问题描述

我有以下数据框(简化):

IPET Task Type
1      1    1
1      2    2
1      3    1
2      1    1
2      1    2

如何创建交叉表(使用 gmodels 中的交叉表函数,因为我需要进行卡方检验),但前提是 Type 等于 1。

标签: rsubsetcrosstab

解决方案


你可能想要这个。

library(gmodels)
with(df.1[df.1$Type==1, ], CrossTable(IPET, Task))

屈服

   Cell Contents
|-------------------------|
|                       N |
| Chi-square contribution |
|           N / Row Total |
|           N / Col Total |
|         N / Table Total |
|-------------------------|


Total Observations in Table:  3 


             | Task 
        IPET |         1 |         3 | Row Total | 
-------------|-----------|-----------|-----------|
           1 |         1 |         1 |         2 | 
             |     0.083 |     0.167 |           | 
             |     0.500 |     0.500 |     0.667 | 
             |     0.500 |     1.000 |           | 
             |     0.333 |     0.333 |           | 
-------------|-----------|-----------|-----------|
           2 |         1 |         0 |         1 | 
             |     0.167 |     0.333 |           | 
             |     1.000 |     0.000 |     0.333 | 
             |     0.500 |     0.000 |           | 
             |     0.333 |     0.000 |           | 
-------------|-----------|-----------|-----------|
Column Total |         2 |         1 |         3 | 
             |     0.667 |     0.333 |           | 
-------------|-----------|-----------|-----------|

数据

df.1 <- read.table(header=TRUE, text="IPET Task Type
1      1    1
1      2    2
1      3    1
2      1    1
2      1    2")

推荐阅读