Мне нужно создать таблицу определенного типа (шаблон)
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))
я веду кросс-таблицу
table(df$degree,df$group)
1 2 3
Mild severity 3 3 2
Moderate severity 0 0 1
Severe severity 0 0 1
но мне нужны результаты в этом шаблоне
[! [введите описание изображения здесь] [1]] [1]
Как мне создать таблицу с этой структурой?
очень важное редактирование
полный dput () (42 шт.)
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))
Существует понятие субъекта, и есть понятие ряд побочных эффектов.
У одного человека может быть несколько побочных эффектов.
Побочный эффект может быть
severity
Moderate
Severe
Я должен посчитать, сколько людей, разделенных на группы, имеют тот или иной побочный эффект.
а сколько побочных эффектов в этой группе?
т.е. В первой группе у нас 9 человек, но есть два уникальных человека.
01-06-104
01-09-108
но общее количество средней степени тяжести равно 7.
Таким образом, только два человека имеют побочный эффект легкой степени тяжести (X)
, а общее количество Mild severity
составляет 7 (Y)
.
Общее количество пациентов составляет 42, поэтому для расчета процента мы должны разделить на 42 (2/42) = 4,7
, поэтому ожидаемый результат
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