Мутировать несколько / последовательных столбцов (с dplyr) - PullRequest
1 голос
/ 04 мая 2020

Я пытаюсь изучить пакет dplyr и пока все идет хорошо. Я столкнулся с проблемой здесь, и это определенно связано с синтаксисом, потому что ее довольно легко решить

Мой фрейм данных показан здесь

Я хочу добавить все заказы на ПУНКТ № из четвертого столбца на палатах (от столбца 4 до 17)

Столбец должен быть таким

ПУНКТ № Общее количество заказов

1 2396

1 2396

2 445

2 445

  group_by(`ITEM`) %>%
  do({
  distinct(`DESCRIPTION`);
  mutate(Total = rowSums(.[,4:17]))
  })

This is definitely wrong as it says Description not found. Any help is appreciated

1 Ответ

0 голосов
/ 04 мая 2020

Если мы используем rowSums, его можно использовать непосредственно в mutate. Кроме того, поскольку это делает сумму в каждой строке, group_by не требуется. Часть distinct без .keep_all = TRUE возвращает только отдельные строки столбца DESCRIPTION.

library(dplyr)
df1 %>%

      mutate(Total = rowSums(.[4:17], na.rm = TRUE)) %>%
      group_by(`ITEM#`) %>%
      mutate(Total = sum(Total, na.rm = TRUE))

ПРИМЕЧАНИЕ. Отметив «ОПИСАНИЕ» на изображении, все элементы уникальны, поэтому distinct не требуется

...