来自列的过滤数据的卡方

Chi square for filtered data from column

我尝试用谷歌搜索这个答案,但我不知所措。

所以我有这样的数据:

PatientNum<- c(1, 2, 3, 4, 5,6,7)
Plastics <- c(1, 0, 1, 1, 0, 0,1) 
Age   <- c(19, 18, 35, 82, 45,46, 65) 
BloodLoss<-c(5,4,5,10,5,15,9)
AgeGroup<-c("Teens","Teens","30s", "80s","40s","40s","60s")

dataset <- data.frame(PatientNum, Plastics,Age, BloodLoss,AgeGroup)

我正在尝试从较早的数据较少的论文中重新创建一些统计数据。在其中,他们有时会按照我期望的方式进行卡方检验,即:

chisq.test(table(dataset$Plastics,dataset$AgeGroup))

但是在其他表格中,他们会做卡方比较,仅比较来自塑料和非塑料的青少年(塑料列中的 1 和 0)。这对我来说很容易在我填写(青少年+塑料)/(青少年+非塑料)与(非青少年+塑料)/非青少年+非塑料)的在线卡方计算器中完成......但是如何我在 R 中这样做吗?

此外,如果不应该采用其中一种统计方法,请随时提出建议。

您可以为年龄组是否为青少年创建一个二元变量。我喜欢给二进制或布尔变量命名,例如 isTeen 以保持跟踪。所以使用 ifelse 调用,如果 AgeGroup 是 "Teens",我只给新列一个 1,否则为 0。

PatientNum<- c(1, 2, 3, 4, 5,6,7)
Plastics <- c(1, 0, 1, 1, 0, 0,1) 
Age   <- c(19, 18, 35, 82, 45,46, 65) 
BloodLoss<-c(5,4,5,10,5,15,9)
AgeGroup<-c("Teens","Teens","30s", "80s","40s","40s","60s")

dataset <- data.frame(PatientNum, Plastics,Age, BloodLoss,AgeGroup)

dataset$isTeen <- ifelse(dataset$AgeGroup == "Teens", 1, 0)
dataset
#>   PatientNum Plastics Age BloodLoss AgeGroup isTeen
#> 1          1        1  19         5    Teens      1
#> 2          2        0  18         4    Teens      1
#> 3          3        1  35         5      30s      0
#> 4          4        1  82        10      80s      0
#> 5          5        0  45         5      40s      0
#> 6          6        0  46        15      40s      0
#> 7          7        1  65         9      60s      0

chisq.test(table(dataset$Plastics, dataset$isTeen))

#>  Pearson's Chi-squared test with Yates' continuity correction
#> 
#> data:  table(dataset$Plastics, dataset$isTeen)
#> X-squared = 1.438e-32, df = 1, p-value = 1

reprex package (v0.2.0) 创建于 2018-05-31。