dplyr: разделить все значения по первой подгруппе - PullRequest
0 голосов
/ 12 марта 2019

edit: На вопрос ответил пользователь arg0naut. Спасибо!

У меня есть много наблюдений, которые организованы в группы (названные 2-4) и подгруппы (названные 1-6). Я хотел бы разделить каждое отдельное наблюдение в группе на среднее значение ее подгруппы 1 (чтобы стандартизировать каждую точку данных в группе к среднему значению ее подгруппы 1). Также некоторые наблюдения относятся к NA.

Это код, который я пытаюсь настроить, пока он делит каждое Наблюдение на общее среднее значение:

data %>%
group_by(Group) %>%
mutate("New Variable" = Observation / mean(Observation, na.rm = TRUE))

Я не знаю, как указать, что мне не нужно общее среднее значение, а среднее значение подгруппы 1 каждой группы. Я пытался часами, но продолжаю терпеть неудачу.

Я приложил картинку, которая может помочь вам понять, что я имею в виду.

Спасибо за внимание!

Изображение

1 Ответ

0 голосов
/ 12 марта 2019

Я думаю, что все, что вам нужно, это группировать по подгруппе вместо group . Вот пример:

data <-
  data.frame(
    "Group" =  rep(2, 15),
    "Subgroup" = rep (1:2, c(10, 5)),
    "Observation" = c(rnorm(14), NA)
  )
data %>%
  group_by(Subgroup) %>%
  mutate("New variable" = Observation / mean(Observation, na.rm = TRUE))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...