tidyr :: объединить через шаблоны столбцов

У меня есть набор данных, который выглядит примерно так

site <- c("A", "B", "C", "D", "E")
D01_1 <- c(1, 0, 0, 0, 1)
D01_2 <- c(1, 1, 0, 1, 1)
D02_1 <- c(1, 0, 1, 0, 1)
D02_2 <- c(0, 1, 0, 0, 1)
D03_1 <- c(1, 1, 0, 0, 0)
D03_2 <- c(0, 1, 0, 0, 1)
df <- data.frame(site, D01_1, D01_2, D02_1, D02_2, D03_1, D03_2)

Я пытаюсь объединитьD0x_1 а такжеD0x_2 столбцы, так что значения в столбцах разделяются косой чертой. Я могу сделать это с помощью следующего кода, и он прекрасно работает:

library(dplyr)
library(tidyr)

df.unite <- df %>%
  unite(D01, D01_1, D01_2, sep = "/", remove = TRUE) %>%
  unite(D02, D02_1, D02_2, ,sep = "/", remove = TRUE) %>%
  unite(D03, D03_1, D03_2, sep = "/", remove = TRUE)

... но проблема в том, что это требует от меня, чтобы напечатать каждыйunite пару раз, и это громоздко по большому количеству столбцов в моем наборе данных. Есть ли способ вdplyr объединить одинаковые имена столбцов, а затем цикл по столбцам?unite_each кажется, не существует.

Ответы на вопрос(3)

Ваш ответ на вопрос