筛选出数据框R中的唯一对

时间:2020-07-16 17:15:04

标签: r filter unique

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

目前,我有:

countries = filter(countries, countries$V1 < countries$V2)

但是,这会导致错误。

Error in UseMethod("filter_") : no applicable method for 'filter_' applied to an object of class "c('matrix', 'array', 'character')"

我假设我如何使用过滤器功能按照字母顺序取出对存在问题。有其他方法吗?

2 个答案:

答案 0 :(得分:1)

这里是一些示例数据的一种方法:

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()

答案 1 :(得分:0)

您可以尝试使用

// In your Controller
namespace App\Http\Controllers\mod1;
...
return view('mod1/index'); // to return your view inside a method for example.


// In Your route for example you can goup all your controllers in namespace
Route::group([ 'namespace' => 'mod1'] ,function() {
    Route::GET('/user', 'UserController@getuser');
     ...
 });