如果记录是重复的,我想将给定的记录重新分配到一个组。在下面的数据集中,我希望12-4都分配给组A或B,但不是两者兼而有之。有什么办法吗?
library(tidyverse)
dat <- tibble(
group = c("A", "A", "A", "A", "B", "B", "B", "B", "B"),
assigned = c("12-1", "12-2", "12-3", "12-4", "12-4", "12-5", "12-6",
"12-7", "12-8")
)
# Attempts to tease out records for each group
dat %>% pivot_wider(names_from = group, values_from = assigned)发布于 2022-04-04 11:53:33
您可以按记录分组并将所有组重新分配到同一组中,从可用组中随机选择:
dat %>%
group_by(assigned) %>%
mutate(group = nth(group, sample(n())[1])) %>%
ungroup()
#> # A tibble: 9 x 2
#> group assigned
#> <chr> <chr>
#> 1 A 12-1
#> 2 A 12-2
#> 3 A 12-3
#> 4 A 12-4
#> 5 A 12-4
#> 6 B 12-5
#> 7 B 12-6
#> 8 B 12-7
#> 9 B 12-8https://stackoverflow.com/questions/71736508
复制相似问题