Я пытаюсь создать таблицу, в которой есть счетчики каждого экземпляра; переменная появляется в кадре данных, сгруппированных по переменным в одном столбце
Моя таблица выглядит следующим образом:
Infected Education age sex race Score
0 missing 35 Female missing 1371.07
1 Higher 39 Female Black 1466.49
0 Higher 27 Female Asian 8020.09
1 A-level 36 Female Black 398.67
1 GCSE 32 Male Other 1312.80
Это код, используемый для его создания:
df<- structure(list(Infected = structure(c(1L, 2L, 1L, 2L, 2L), .Label = c("0",
"1"), class = "factor"), Education = structure(c(1L, 4L, 4L,
2L, 3L), .Label = c("missing", "A-level", "GCSE", "Higher"), class = "factor"),
age = c(35L, 39L, 27L, 36L, 32L), sex = structure(c(3L, 3L,
3L, 3L, 2L), .Label = c("Missing_Other", "Male", "Female"
), class = "factor"), race = structure(c(1L, 3L, 2L, 3L,
4L), .Label = c("missing", "Asian", "Black", "Other", "White"
), class = "factor"), Score = c(1371.06994628906, 1466.48999023438,
8020.08984375, 398.670013427734, 1312.80004882812)), class = "data.frame", row.names = c(221L,
261L, 444L, 561L, 702L))
Я уже пытался использовать пакет dplyr для подсчета и группировки экземпляров, но я новичок в R, поэтому боюсь, что мой код не дает желаемого результата .
Это код, который я уже пробовал, но я не уверен, как я могу изменить это, чтобы получить желаемый результат:
table <-df %>% group_by(Infection) %>% count(sex,Education,age,race,Score)
Мой желаемый результат будет выглядеть так:
Infection_1 Infection_0 Infection_All
**ALLSex**
Male 1(0%) 0(0%) 1(20%)
Female 2(40%) 2(40%) 4(80%
**Education**
Missing 0(0%) 1(20%) 1(20%)
Higher 1(20%) 1(20%) 2(40%)
Alevel 1(20%) 0(0%) 2(20%)
GCSE 1(20%) 0(0%) 1(20%)
**Race**
Black 2(40%) 0(0%) 2(40%)
Asian 1(20%) 0(0%) 1(20%)
Other 0(0%) 1(20%) 1(20%)
White 0(0%) 0(0%) 0(0%)
Other 1(20%) 0(0%) 1(20%)