首页 > 解决方案 > R唯一多元整数样本

问题描述

我想识别大小等于 50 的两个整数向量,其中第一个向量可以在 0 到 20 之间变化,第二个向量可以从 0 到 100 变化。第一个向量和第二个向量的组合是唯一的(50 个不同的索引对) . 但是例如,您可以在第一个向量中选择两次 1 或在第二个向量中选择两次 100。错误的解决方案:向量 A (1, 1, ....) 向量 B (100, 100, ...)

好的解决方案:向量 A (1, 1, 2, ... ) 向量 B (100 , 99 , 100, ...)

目前我正在使用:

a =  sample(1:20, 50,replace = T)
b = sample(1:100, 50,replace = T)

但是,当然,我有许多非独特的价值观。

标签: rsampling

解决方案


您可以稍微增加样本,只保留那些具有独特组合的样本:

a =  sample(1:20, 100,replace = T)
b = sample(1:100, 100,replace = T)

df <- tibble(a = a, b = b)

df %>% 
  distinct() %>% 
  slice_head(n = 50)

推荐阅读