关于如何在R中执行chisq测试的消隐

时间:2016-10-25 14:29:11

标签: r statistics

我知道我在某个课堂上学到了这一点,但我现在不记得了。

我有这样的数据:

 dput(tbl)
structure(c(160L, 7094L, 0L, 0L, 3287L, 373L, 164L, 2406L, 0L, 
0L, 33L, 0L, 0L, 0L, 0L, 122L, 20775L, 0L, 0L, 0L, 0L, 0L, 0L, 
417L, 0L, 1709L, 0L, 0L, 471L, 0L, 499L, 0L, 0L, 0L, 1029L, 4399L, 
3413L, 0L, 890L, 57L, 3185L, 0L, 0L, 1137L, 103L, 105L, 899L, 
0L, 0L, 7L, 0L, 0L, 0L, 0L, 69L, 8852L, 0L, 0L, 0L, 0L, 0L, 0L, 
53L, 0L, 776L, 0L, 0L, 222L, 0L, 193L, 0L, 0L, 0L, 312L, 1889L, 
1417L, 0L, 352L), .Dim = c(39L, 2L), .Dimnames = structure(list(
    c("ARSON", "ASSAULT", "BAD CHECKS", "BRIBERY", "BURGLARY", 
    "DISORDERLY CONDUCT", "DRIVING UNDER THE INFLUENCE", "DRUG/NARCOTIC", 
    "DRUNKENNESS", "EMBEZZLEMENT", "EXTORTION", "FAMILY OFFENSES", 
    "FORGERY/COUNTERFEITING", "FRAUD", "GAMBLING", "KIDNAPPING", 
    "LARCENY/THEFT", "LIQUOR LAWS", "LOITERING", "MISSING PERSON", 
    "NON-CRIMINAL", "OTHER OFFENSES", "PORNOGRAPHY/OBSCENE MAT", 
    "PROSTITUTION", "RECOVERED VEHICLE", "ROBBERY", "RUNAWAY", 
    "SECONDARY CODES", "SEX OFFENSES, FORCIBLE", "SEX OFFENSES, NON FORCIBLE", 
    "STOLEN PROPERTY", "SUICIDE", "SUSPICIOUS OCC", "TREA", "TRESPASS", 
    "VANDALISM", "VEHICLE THEFT", "WARRANTS", "WEAPON LAWS"), 
    c("Weekday", "Weekend")), .Names = c("", "")), class = "table")

我尝试做chisq.test(tbl),但结果又回归NA,很可能是因为零。有没有人有任何见解?我想计算工作日和周末之间的差异,犯罪的类型可以合并为所有犯罪。

1 个答案:

答案 0 :(得分:3)

好吧,如果你认为它的零点在没有零的情况下尝试它:

> chisq.test(tbl[tbl[,1]!=0,])

    Pearson's Chi-squared test

data:  tbl[tbl[, 1] != 0, ]
X-squared = 194.13, df = 16, p-value < 2.2e-16

这似乎产生了一些数字。

一对零是否足以抛出它?

> chisq.test(rbind(tbl[tbl[,1]!=0,],c(0,0)))

    Pearson's Chi-squared test

data:  rbind(tbl[tbl[, 1] != 0, ], c(0, 0))
X-squared = NaN, df = 17, p-value = NA

Warning message:
In chisq.test(rbind(tbl[tbl[, 1] != 0, ], c(0, 0))) :
  Chi-squared approximation may be incorrect

是。显然有0个罪行无法添加任何信息,以确定工作日或周末是否更糟。我想你可以提交一个请求,它会丢弃零并发出警告,告知它已经完成了,但是我看不出它已经实现了。