R中子集的交叉表

时间:2018-07-03 07:50:06

标签: r subset crosstab

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

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

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

1 个答案:

答案 0 :(得分:3)

您可能想要这个。

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")