我试过谷歌搜索这个答案,但我不知所措。
所以我有这样的数据:
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中做到了吗?
另外,请随时告知是否应该采用其中一种统计方法。
答案 0 :(得分:1)
您可以为年龄组是否为青少年制作二元变量。我喜欢提供像isTeen
这样的二进制或布尔变量名称来跟踪。因此,如果ifelse
是&#34;青少年&#34;,那么使用AgeGroup
调用,我只需将新列设为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。