Если COL2
можно осмысленно отсортировать, min()
должно работать:
df <- structure(
list(Groups = c("G1", "G1", "G1", "G1", "G1", "G1", "G2", "G2", "G2", "G3",
"G3", "G3", "G4", "G4"),
COL1 = c(1L, 1L, 2L, 2L, 5L, 6L, 7L, 7L, 8L, 10L, 10L, 11L, 12L, 12L),
COL2 = c("A", "C", "A", "B", "C", "C", "B", "B", "C", "C", "A", "B",
"C", "C")),
class = "data.frame", row.names = c(NA, -14L))
library("dplyr")
df %>%
group_by(Groups, COL1) %>%
mutate(COL3 = min(COL2))
#> # A tibble: 14 x 4
#> # Groups: Groups, COL1 [9]
#> Groups COL1 COL2 COL3
#> <chr> <int> <chr> <chr>
#> 1 G1 1 A A
#> 2 G1 1 C A
#> 3 G1 2 A A
#> 4 G1 2 B A
#> 5 G1 5 C C
#> 6 G1 6 C C
#> 7 G2 7 B B
#> 8 G2 7 B B
#> 9 G2 8 C C
#> 10 G3 10 C A
#> 11 G3 10 A A
#> 12 G3 11 B B
#> 13 G4 12 C C
#> 14 G4 12 C C
Создано 28 мая 2020 г. пакетом реплекс (v0. 3,0)