是否有一个 R 函数可以检查一组中的所有值是否与另一组中的所有值相同?

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

我拥有的数据:

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

我想要什么:

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 group mutate
1个回答
0
投票

您可以尝试以下

df %>%
    left_join(
        (.) %>%
            summarise(group = as.factor(toString(sort(B))), .by = A) %>%
            mutate(group = as.integer(group))
    )

这给出了

  A B group
1 1 a     1
2 2 c     2
3 2 e     2
4 3 f     3
5 4 h     4
6 5 c     2
7 5 e     2
© www.soinside.com 2019 - 2024. All rights reserved.