我正在try 使用R开发一种采样策略,以便随机生成一个值序列,其中包括最终随机样本中的每个站点.

我的数据是这样的: df<-data.frame(sites=1:30)

我正在try 生成40个随机值,其中包括每个站点(1-30)至少一次.我运行代码:

sample(df$site,40,T)
 [1]  5 29  3 30  6 11 30 11  6 20 26 26  2 23 15 27  2 23  3 20 20 26  6 10 28 21
[27] 10  9  9  5 10 16 17 29 12 28 21 15  9 13

但每次我运营它,并不是我没有我所有的价值观.例如,在那个随机抽签中,我的样本中没有站点1.有没有办法在tidyVerse中生成40个随机值,同时至少包含一个站点一次?

推荐答案

你可以试试

> set.seed(0)

> sites <- 1:30

> (out <- sample(c(sites, sample(sites, 40 - length(sites)))))
 [1]  4 21 30 10  7  9 15 11  5  1 25 14 25 28  2 23 12  7  1 20  3  6 30 18 19
[26] 23  4 24 29 17 14  2 16 22 13 11 18 26  8 27

你可以使用table来查看计数

> table(out)
out
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
 2  2  1  2  1  1  2  1  1  1  2  1  1  2  1  1  1  2  1  1  1  1  2  1  2  1
27 28 29 30
 1  1  1  2

R相关问答推荐

根据shiny 应用程序中的数字输入更改图标 colored颜色

格点中指数、双曲和反双曲模型曲线的正确绘制

在for循环中转换rabrame

如何在区分不同条件的同时可视化跨时间的连续变量?

R Read.table函数无法对制表符分隔的数据正常工作

在ggplot2的框图中绘制所有级别的系数

如何将SAS数据集的列名和列标签同时包含在r中GT表的表首?

如何在ggplot2中绘制具有特定 colored颜色 的连续色轮

如何在R中通过多个变量创建交叉表?

如何使用For-R循环在向量中找到一系列数字

循环遍历多个变量,并将每个变量插入函数R

如何显示准确的p值而不是<;0.001*?

如何判断代码是否在R Markdown(RMD)上下文中交互运行?

如何使用循环从R中的聚合函数创建列,而不会在名称中给出&q;$&q;?

禁用时,SelecizeInput将变得不透明

如何在R中的两列以上使用联合(&U)?

对一个数据帧中另一个数据帧中的值进行计数

R,将组ID分配给另一个观测ID变量中的值的组合

reshape 数据帧-基于组将行转换为列

如何从矩阵绘制环弦图