是否有 R 代码可以检查一组中的所有值是否与另一组中的所有值相同?

问题描述 投票:0回答:1

我拥有的数据:

A B
1 a
2 c
2 e
3 f
4 h
5 c
5 e

我想要的:

如果 A 的不同组中 B 的所有值都匹配,则它们在同一组中。在这种情况下,所有 B 值(c 和 e)都匹配 2 和 5。

A B 团体
1 a 1
2 c 2
2 e 2
3 f 3
4 h 4
5 c 2
5 e 2

我尝试的代码:

library(readxl)
library(dplyr)
library(stringr)
data1 <- read_excel("testing.xlsx")
data2 <- data1 %>% 
  group_by(A) %>% 
  group_by(B) %>% 
  mutate(Group = cur_group_id()) %>% 
  ungroup()

我从这段代码中得到什么:

A B 团体
1 a 1
2 c 2
2 e 3
3 f 4
4 h 5
5 c 2
5 e 3

注意:我正在操作的原始数据已左连接,然后分组。

r left-join rstudio group mutate
1个回答
0
投票
library(dplyr)
library(tidyr)
dat |> 
  arrange(A, B) |> 
  summarise(B = list(B), .by = A) |> 
  mutate(Group = cur_group_id(), .by = B) |> 
  unnest_longer(B)
© www.soinside.com 2019 - 2024. All rights reserved.