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
кажется, не существует.