首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于几个列制作group_indices

基于几个列制作group_indices
EN

Stack Overflow用户
提问于 2017-07-13 11:40:38
回答 1查看 877关注 0票数 15

我想根据两栏生成分组观察的索引。但我希望大家都有共同的观察,至少在公地有一个观察。我可以看到如何根据共同的观察,但不仅仅是其中的一个,共同的观察组成小组。

例如,使用数据框架:

代码语言:javascript
复制
dt <- data.frame(id=1:10,
             G1 = c("A","A","B","B","C","C","C","D","E","F"),
             G2 = c("Z","X","X","Y","W","V","U","s","T","T"))

我想要一个专栏

代码语言:javascript
复制
1,1,1,1,2,2,2,3,4,4

我尝试过使用dplyr的group_indices,但没有成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-13 11:50:00

使用igraph成员资格,然后在名称上映射:

代码语言:javascript
复制
library(igraph)

# convert to graph, and get clusters membership ids
g <- graph_from_data_frame(df1[, c(2, 3, 1)])
myGroups <- components(g)$membership

myGroups 
# A B C D E F Z X Y W V U s T 
# 1 1 2 3 4 4 1 1 1 2 2 2 3 4 

# then map on names
df1$group <- myGroups[df1$G1]


df1
#    id G1 G2 group
# 1   1  A  Z     1
# 2   2  A  X     1
# 3   3  B  X     1
# 4   4  B  Y     1
# 5   5  C  W     2
# 6   6  C  V     2
# 7   7  C  U     2
# 8   8  D  s     3
# 9   9  E  T     4
# 10 10  F  T     4
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45079559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档