如何解决我可以删除两列R中的重复组合吗
我有一个像这样的数据集
firm1 firm2
A B
A D
A G
B A
D A
G A
如您所见,它给出了唯一的信息,但是组合仍然相同。
我想过滤出唯一的组合,所以我的数据集看起来像这样。
firm1 firm2
A B
A D
A G
如何过滤掉这些重复(但相反)的组合?
解决方法
我建议采用这种base R
方法:
#Data
df <- structure(list(firm1 = c("A","A","B","D","G"),firm2 = c("B","G","A")),row.names = c(NA,-6L),class = "data.frame")
代码:
df[!duplicated(lapply(strsplit(paste0(df$firm1,df$firm2),split = ''),sort)),]
输出:
firm1 firm2
1 A B
2 A D
3 A G
,
这是使用igraph
软件包的解决方案
library(igraph)
setNames(unique(as_data_frame(graph_from_data_frame(df,directed = FALSE))),names(df))
给出
firm1 firm2
1 A B
2 A D
3 A G
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。