Один параметр - uncount
из tidyr
, чтобы реплицировать каждую строку в n
строки, а затем создать «элемент» в виде последовательности «n» rep
licised
library(dplyr)
library(tidyr)
n <- 3
df1 %>%
uncount(n) %>%
mutate(element = rep(seq_len(n), length.out = n()))
#. col1 col2 element
#1 id1 a 1
#2 id1 a 2
#3 id1 a 3
#4 id1 b 1
#5 id1 b 2
#6 id1 b 3
#7 id2 c 1
#8 id2 c 2
#9 id2 c 3
данных
df1 <- structure(list(col1 = c("id1", "id1", "id2"), col2 = c("a", "b",
"c")), class = "data.frame", row.names = c(NA, -3L))