首页 文章

X2独立测试

提问于
浏览
0

所以我们有

13-17 18-24 25-34 35-44 45-54 55-64 65+
Female     1    45    15     6     2     3   2
Male       2   121    31     7     4     2   3

原始数据有 F.13-20F.21-35 M.13-20 等 Headers . 你会怎么做?这很难解释,但我们无法在任何地方找到它 .

tab <- matrix(as.numeric(WeekReach[158,3:16]), nrow=2, byrow=TRUE)
colnames(tab) <- c("13-17", "18-24", "25-34", "35-44", "45-54", "55-64", "65+")
rownames(tab) <- c("Female","Male")

之后是:

exInd = function() {
n = sum(tab)
p = rowSums(tab)/sum(tab)
q = colSums(tab)/sum(tab)
return(p %o% q * n)}

chiSquaredStatistic = function(E) {
return(sum((tab - E)^2/E))}

E = exInd() 

x2 = replicate(1000, {
ageShuffle = sample(age)
genderShuffle = sample(gender)
Xindep = table(ageShuffle, genderShuffle)
chiSquaredStatistic(Xindep, E)})

但我们需要一些东西让男性和女性成为他们自己的东西 - 很难解释,老师甚至不会向我们解释#univeristyproblems


对,所以这是老师给出的解决方案 - 注意,他们没有解释任何事情 .

WeekReach = read.csv(“http://staff.scm.uws.edu.au/~lapark/300958/labs/WeeklyReachDemog.csv”,as.is = TRUE)tab = matrix(as.numeric(WeekReach [ 158,3:16]),nrow = 2,byrow = TRUE)colnames(tab)< - c(“13-17”,“18-24”,“25-34”,“35-44”,“45 -54“,”55-64“,”65“)rownames(tab)< - c(”Female“,”Male“)stretchTable = function(tab,variableNames){tabx = rep(rownames(tab),rowSums( tab))l = ncol(tab)m = nrow(tab)cn = colnames(tab)taby = c()for(a in 1:m){for(b in 1:l){taby = c(taby, rep(cn [b],tab [a,b]))}} d = data.frame(x = tabx,y = taby)colnames(d)= variableNames return(d)} tab2 = stretchTable(tab,c( “性别”,“年龄”))验证我们是否正确的值表(tab2)

这是'问题'我们在讲座中展示了我们可以对给定的双向表执行独立性测试(双向意义,有多个行和列) . 要执行测试,我们需要:

如果行和列是独立的,则计算表的预期值(演示幻灯片中显示的代码) . 随机播放表格的行和列 . 为了实现洗牌,我们必须首先解开 table . 例如,如果我们从表开始:

A B C X 2 1 1 Y 1 3 1我们必须将其转换为以下形式:

列行A X A X A Y B X B Y B Y B Y C X C Y编写执行此表转换的代码 .

提示:要计算两列表,可以单独计算两列作为性别和年龄,然后使用tab2 = data.frame(性别=性别,年龄=年龄)进行组合 . 此外,函数rowSums,colSums,rownames,colnames和rep可能很有用(如果您不熟悉这些函数,请阅读它们上面的R文档,例如help(rowSums)) .

一旦我们将数据分成两列,我们就会对列进行混洗并重新计算表并计算χ2值(如演讲中所示) .

使用上表标签和假设H0:性别和年龄是独立的,HA:性别和年龄不是独立的:

计算χ2随机化分布 . 计算选项卡的χ2统计量 . 计算测试的p值 . 最后陈述测试结论 .

玩得开心 .

2 回答

  • 0

    我假设您想要执行chi-square test of independence,以确定不同年龄段的男/女群体中预期频率和观察频率之间是否存在显着差异 .

    以下内容可以帮助您入门

    df <- read.table(text =
        "13-17 18-24 25-34 35-44 45-54 55-64 65+
    Female     1    45    15     6     2     3   2
    Male       2   121    31     7     4     2   3", header = T)
    
    chisq.test(df)
    #
    #   Pearson's Chi-squared test
    #
    #data:  df
    #X-squared = 4.8117, df = 6, p-value = 0.5682
    

    基于样本数据和卡方检验结果,我们未能拒绝原假设,并得出结论认为没有足够的证据推断不同年龄段的男性和女性频率之间存在统计学上的显着差异 .

  • 0

    在上面回答^^他们制作了一张 table ,并使用了所有这些功能,但没有被告知这样的 .

相关问题