Я хочу рассчитать среднее и стандартное отклонение контактов для двадцати видов больничных услуг в двух группах испытаний. Я сделал это до сих пор с помощью group_by(arm, service)
. Это дает среднее число людей, которые используют эту услугу в этой руке. Вместо этого мой босс хочет получить среднее значение по каждой службе, разделенное на всех в этой руке.
Таким образом, если имеется 100 кардиологических контактов, по 30 пациентов в каждой руке, но 10 посещают кардиологическое назначение, расчет должен быть 100/30, а не 100/10.
Единственный способ, которым я могу думать об этом, - это разделить руки на отдельные наборы данных, и тогда мне нужно будет только группировать по сервисам, что решает проблему.
Пример того, как это выглядит:
rep_prob <- tibble(id = 1:6, arm = c(1,1,1,0,0,0), service = c(1,1,2,1,2,2), contacts = c(21,3,14, 2,5,10)) %>%
group_by(arm, service) %>%
summarise(mean = mean(contacts), sd = sd(contacts))
Что дает результаты, которые выглядят так:
arm service mean sd
0 1 2.0 NaN
0 2 7.5 3.535534
1 1 12.0 12.727922
1 2 14.0 NaN
Где вместо этого я хочу указать среднее значение и SD каждой услуги по сравнению с группой в целом, а не как подгруппу группы и службы.
Это, очевидно, очень просто в Stata, и я единственный человек в моем отделе, который использует R. Для всех других моих таблиц результатов я делю свою таблицу только на одну переменную и, таким образом, использую group_by (arm), а затем суммирую работы.