过滤掉数据帧R中的唯一对

过滤掉数据帧R中的唯一对,r,filter,unique,R,Filter,Unique,我目前有一个名为countries的数据框架,有两列“V1”和“V2”。这两列都包含国家缩写,如US、CA、RU等。每行是一对国家,因此第一行可以是US和RU。但是,我想提取唯一对,因为有些对是重复的,例如(US,RU)和(RU,US)。我想根据字母顺序提取这对,这样(RU,US)将被提取,而不是(US,RU) 目前我有: countries = filter(countries, countries$V1 < countries$V2) 我假设我如何使用filter函数根据字母顺序提取

我目前有一个名为countries的数据框架,有两列“V1”和“V2”。这两列都包含国家缩写,如US、CA、RU等。每行是一对国家,因此第一行可以是US和RU。但是,我想提取唯一对,因为有些对是重复的,例如(US,RU)和(RU,US)。我想根据字母顺序提取这对,这样(RU,US)将被提取,而不是(US,RU)

目前我有:

countries = filter(countries, countries$V1 < countries$V2)
我假设我如何使用filter函数根据字母顺序提取对存在问题。有不同的方法吗?

您可以尝试使用

distinct_all(countries)

以下是一种方法和一些示例数据:

library(tidyverse)

countries <- data.frame(V1 = c("US", "MX", "CA", "UR", "US"),
                        V2 = c("MX", "FR", "IN", "US", "MX"),
                        Combo = NA)

for(i in 1:nrow(countries)){
      countries$Combo[i] <- paste0("(", 
                                   str_c(sort(c(countries$V1[i], countries$V2[i])),
                                         collapse = ", "),
                                   ")")
}

countries %>% pull(Combo) %>% unique()
库(tidyverse)
国家/地区%unique()

当我尝试使用UseMethod(“tbl_vars”)中的函数时,我当前遇到此错误:没有适用于“c”('matrix'、'array'、'character')类对象的“tbl_vars”方法我的数据是否需要以某种方式进行转换?能否请您共享数据集中的示例数据?我刚刚解决了这个问题,谢谢!国家需要成为一个数据框架。
library(tidyverse)

countries <- data.frame(V1 = c("US", "MX", "CA", "UR", "US"),
                        V2 = c("MX", "FR", "IN", "US", "MX"),
                        Combo = NA)

for(i in 1:nrow(countries)){
      countries$Combo[i] <- paste0("(", 
                                   str_c(sort(c(countries$V1[i], countries$V2[i])),
                                         collapse = ", "),
                                   ")")
}

countries %>% pull(Combo) %>% unique()