【问题标题】:Can I remove duplicate combinations across two columns R [duplicate]我可以删除两列 R 中的重复组合吗?
【发布时间】:2020-08-21 14:11:16
【问题描述】:

我有一个看起来像这样的数据集

firm1 firm2
A      B   
A      D  
A      G   
B      A
D      A
G      A

如您所见,它给出了独特的信息,但组合仍然相同。

我想过滤掉唯一的组合,所以我的数据集看起来像这样。

firm1 firm2
A      B   
A      D  
A      G   

如何过滤掉这些重复(但颠倒)的组合?

【问题讨论】:

    标签: r unique combinations


    【解决方案1】:

    我会建议这种base R 方法:

    #Data
    df <- structure(list(firm1 = c("A", "A", "A", "B", "D", "G"), firm2 = c("B", 
    "D", "G", "A", "A", "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
    

    【讨论】:

      【解决方案2】:

      这是使用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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 2012-10-31
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多