Criando uma tabela para resultados da análise de frequência em R

Preciso criar na tabela um certo tipo (template)

Mydata 
df=structure(list(group = c(1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 
1L), degree = structure(c(1L, 1L, 1L, 1L, 1L, 3L, 2L, 1L, 1L, 
1L), .Label = c("Mild severity", "Moderate severity", "Severe severity"
), class = "factor")), .Names = c("group", "degree"), class = "data.frame", row.names = c(NA, 
-10L))

eu conduzo crosstab

table(df$degree,df$group)

                    1 2 3
  Mild severity     3 3 2
  Moderate severity 0 0 1
  Severe severity   0 0 1

mas preciso dos resultados deste modelo [! [insira a descrição da imagem aqui] [1]] [1]

Como posso criar tabela com essa estrutura?

edição muito importante

dput completo () (42 obs.)

df=structure(list(Study.Subject.ID = structure(c(1L, 2L, 3L, 4L, 
5L, 6L, 7L, 8L, 9L, 1L, 2L, 3L, 5L, 7L, 8L, 9L, 1L, 2L, 3L, 5L, 
8L, 2L, 3L, 5L, 8L, 2L, 3L, 5L, 8L, 2L, 3L, 5L, 8L, 3L, 8L, 8L, 
8L, 8L, 8L, 8L, 8L, 8L), .Label = c("01-06-104", "01-09-108", 
"01-15-201", "01-16-202", "01-18-204", "01-27-301", "01-28-302", 
"01-33-305", "01-42-310"), class = "factor"), group = c(1L, 1L, 
2L, 2L, 2L, 3L, 3L, 3L, 3L, 1L, 1L, 2L, 2L, 3L, 3L, 3L, 1L, 1L, 
2L, 2L, 3L, 1L, 2L, 2L, 3L, 1L, 2L, 2L, 3L, 1L, 2L, 2L, 3L, 2L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), Degree.of.severity = structure(c(2L, 
2L, 2L, 2L, 2L, 4L, 3L, 2L, 2L, 2L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 
1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 3L, 2L, 2L, 2L, 3L, 3L, 3L, 3L), .Label = c("Life-threatening or disabling", 
"Mild severity", "Moderate severity", "Severe severity"), class = "factor")), .Names = c("Study.Subject.ID", 
"group", "Degree.of.severity"), class = "data.frame", row.names = c(NA, 
-42L))

Existe um conceito do assunto e existe um número de efeitos colaterais. Uma pessoa pode ter vários efeitos colaterais. O efeito colateral pode ser

severity
Moderate
Severe

Eu tenho que contar quantas pessoas separadas por grupo têm esse ou aquele efeito colateral. e quantos efeitos colaterais nesse grupo?

I.E. No primeiro grupo, temos 9 obs., Mas existem duas pessoas únicas.

01-06-104
01-09-108

mas a contagem total Gravidade leve é 7. Portanto, apenas duas pessoas têm efeito colateral da Gravidade leve(X) e contagem totalMild severity é 7(Y). A contagem total de pacientes é 42, portanto, para calcular a porcentagem, devemos dividir por 42 (2/42) = 4,7

é por isso que a produção esperada

    degree       group1           group2         group3 
                  X (%)Y          X (%)Y         X (%) Y

    Mild severity   2 (4,7%)7   3 (7,1%)13   3(7,1%)    12
    Moderato        1 (2,3%)1   0(0,0%%)0    2(4,7%)    6
    Severe severity 0(0,0%%)0   0(0,0%%)0     1(2,3)    1

questionAnswers(3)

yourAnswerToTheQuestion