Хи-квадрат для отфильтрованных данных из столбца - PullRequest
0 голосов
/ 31 мая 2018

Я пытался найти этот ответ, но я в растерянности.

Итак, у меня есть такие данные:

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?

Кроме того, не стесняйтесь давать советы, если не следует использовать один из этих статистических подходов.

1 Ответ

0 голосов
/ 31 мая 2018

Вы можете сделать двоичную переменную для того, является ли возрастная группа подростками.Мне нравится давать имена двоичных или логических переменных, таких как isTeen, чтобы отслеживать.Поэтому, используя вызов ifelse, я просто даю этому новому столбцу 1, если AgeGroup равен «Teens», и 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

Создано в 2018-05-31 представьте пакет (v0.2.0).

...