my dataset has such structure
structure(list(GR = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L), Skin..visible.mucous.membranes..hair..nails.1 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), The.lymph.nodes.1 = c("Normal", "Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal"), ENT.organs..respiratory.system.1 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), The.cardiovascular.system.1 = c("Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal", "Normal"), Gastrointestinal..including.assessment.of.spleen.and.liver.size..1 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), Genitourinary.sphere.1 = c("Normal", "Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal"), Nervous.system.1 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), Psychic.Sphere.1 = c("Normal", "Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal"), Skin..visible.mucous.membranes..hair..nails.2 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), The.lymph.nodes.2 = c("Normal", "Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal"), ENT.organs..respiratory.system.2 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), The.cardiovascular.system.2 = c("Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal", "Normal"), Gastrointestinal..including.assessment.of.spleen.and.liver.size..2 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), Genitourinary.sphere.2 = c("Normal", "Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal"), Nervous.system.2 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), Psychic.Sphere.2 = c("Normal", "Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal"), Skin..visible.mucous.membranes..hair..nails.3 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), The.lymph.nodes.3 = c("Normal", "Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal"), ENT.organs..respiratory.system.3 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), The.cardiovascular.system.3 = c("Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal", "Normal"), Gastrointestinal..including.assessment.of.spleen.and.liver.size..3 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), Genitourinary.sphere.3 = c("Normal", "Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal"), Nervous.system.3 = c("Normal",
"Normal", "Normal", "Normal", "Normal", "Normal", "Normal", "Normal"
), Psychic.Sphere.3 = c("Normal", "Normal", "Normal", "Normal",
"Normal", "Normal", "Normal", "Normal")), class = "data.frame", row.names = c(NA,
-8L))
this is part of the results of the study on which i need to calculate the frequencies for the normal or not normal categories.
How to calculate frequencies for categories of normal and not normal for each of studied parameter for each group separately
Skin, visible mucous membranes, hair, nails
The lymph nodes
ENT organs, respiratory system
The cardiovascular system
Gastrointestinal (including assessment of spleen and liver size)
Genitourinary sphere
Nervous system
Psychic Sphere
and each of them has a digital prefix, for example The lymph nodes 1 - means the first day of the study, The lymph nodes 2 - means the second day of the study. To make a reproducible example, I took only 3 days.
And each parameter has, of course, GR study groups.
so that the desired final table looks like with absolute and percentage values
I know how to use the table command, but it does not allow me get desired output result in exactly the format that I showed in the figure.(this output i self create manually using full data and here it as example desired format)

How can I calculate frequencies like this to get needed desired output?