2014-01-19 39 views
0

如果问题过于简单,但我现在只是从R和统计相关问题开始,我很抱歉。仅使用两个变量创建交叉制表矩阵

我使用的数据来自内置infert数据集,以及一个任务,我需要建立一个交叉制表矩阵其中列将是induced变量和行将是spontaneous变量。

这里的矩阵,不熟悉的与infert一个例子:

> infert 
    education age parity induced case spontaneous stratum pooled.stratum 
1  0-5yrs 26  6  1 1   2  1    3 
2  0-5yrs 42  1  1 1   0  2    1 
3  0-5yrs 39  6  2 1   0  3    4 
4  0-5yrs 34  4  2 1   0  4    2 
5  6-11yrs 35  3  1 1   1  5    32 
6  6-11yrs 36  4  2 1   1  6    36 
7  6-11yrs 23  1  0 1   0  7    6 
8  6-11yrs 32  2  0 1   0  8    22 
9  6-11yrs 21  1  0 1   1  9    5 
10 6-11yrs 28  2  0 1   0  10    19 
11 6-11yrs 29  2  1 1   0  11    20 
... 
247 12+ yrs 29  1  0 0   1  82    43 
248 12+ yrs 23  1  0 0   1  83    40 

在那之后,我还需要一个卡方列联表检验适用于结果看,如果两个变量链接与否。

事情是,由于我缺乏经验,我不知道从哪里开始。谷歌没有得到相关的结果,我找不到任何关于构建交叉制表矩阵的方法()或教程。

Hoever,一个非常相关的页面,也包含卡方检测方法的信息,我发现它是this,虽然它使用外部包,gmodels

任何使用内置R函数的方法,或者我必须得到gmodels

+1

@MarkHeckmann我已经链接到在我的问题中非常相同的页面。请您在下次评论时仔细阅读。 –

+1

不好意思。也许我应该补充说:“这一切都在你所链接的页面上描述过。”:'attach(infert); mytable < - table(spontaneous,induced); chisq.test(mytable)' –

回答

1

您可以使用table创建应急表:

freq <- table(infert[c("induced", "spontaneous")]) 
#  spontaneous 
# induced 0 1 2 
#  0 67 47 29 
#  1 45 16 7 
#  2 29 8 0 

现在,你可以使用chisq.test测试两个变量是否独立:

chisq.test(freq) 

# Pearson's Chi-squared test 
# 
# data: freq 
# X-squared = 18.198, df = 4, p-value = 0.001129 
+0

谢谢,斯文先生。 –