你可以使用dplyr包中的group_by()和summarise()函数来实现这个目标。下面是一个示例代码:

library(dplyr)

# 创建一个包含group和name的dataframe
df <- data.frame(
  group = c("A", "A", "B", "B", "C", "C"),
  name = c("John", "Mary", "John", "Alice", "Alice", "Bob")
)

# 按照group列进行分组,并计算每个组中的共有name
result <- df %>%
  group_by(group) %>%
  summarise(common_names = toString(unique(name)))

# 打印结果
print(result)

运行以上代码,你会得到一个新的dataframe,其中包含每个group中共有的name。

# A tibble: 3 x 2
  group common_names
  <chr> <chr>       
1 A     John, Mary  
2 B     John, Alice 
3 C     Alice, Bob

在这个示例中,我们使用group_by()函数按照group列进行分组,然后使用summarise()函数计算每个组中的共有name。最后,我们将结果打印出来。

请注意,我们使用了toString()函数来将每个组的name连接成一个字符串,并使用unique()函数来去除重复的name。


原文地址: https://www.cveoy.top/t/topic/i3dJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录