删除r中整数向量上的n个元素

删除r中整数向量上的n个元素,r,R,我有一个整数向量X,其中向量中的每个元素表示不同群体中的个体数量。我想随机删除这些人群中的y个个体。 这类似于有3个群体,每个群体有10个个体(c(10,10,10)),其中我想随机移除3个群体中的5个个体,这样一个可能的随机结果就是c(8,10,7)。这与x向量的子集整体元素(总体)不同,使用样本基函数很容易实现 x=c(10, 10, 10) y=5 >x2=mystery_function(x, y) >x2 9,8,8 #so sum(x)=sum(x2)+y 有没有想过如

我有一个整数向量X,其中向量中的每个元素表示不同群体中的个体数量。我想随机删除这些人群中的y个个体。 这类似于有3个群体,每个群体有10个个体(c(10,10,10)),其中我想随机移除3个群体中的5个个体,这样一个可能的随机结果就是c(8,10,7)。这与x向量的子集整体元素(总体)不同,使用样本基函数很容易实现

x=c(10, 10, 10)
y=5
>x2=mystery_function(x, y)
>x2
9,8,8 #so sum(x)=sum(x2)+y

有没有想过如何有效地做到这一点?我觉得我错过了一个明显的解决方案…

使用@StupidWolf的建议,我编写了以下函数:

samp总体(samp(总体,5)->总体)
1 2 3 
9 8 8 
>(samp(人口,5)->人口)
1 2 3 
8 7 5 
>(samp(人口,5)->人口)
1 2 3 
8 4 3 
>(samp(人口,5)->人口)
1 2 3 
6 2 2 
>(samp(人口,5)->人口)
1 2 3 
2 1 2 
>(samp(人口,5)->人口)
<范围表0>

x
不包含
0
。您能否提供更多示例来演示问题的边缘情况和约束条件?当
x
有很多元素时,这种解算器可能非常昂贵。所以简单地说,你想要向量x中的y元素,它们的和是y?这听起来像是一种变异?我的大脑工作不太好。。但我最初的想法是这样的。您可以生成一个向量来标识您的个体
id=rep(1:3,每个=10)
您可以从中随机抽取25个个体,并将
表格(sample(id,25))