R中随机选择一个样本

标签 r

我必须找到一种方法,从集合 S 中随机选择 R 中的一个样本。集合 S 由 I1 集合中的样本组成。

I1 <- c(1,2,3,4,5,6)
s1 <- c(1,2,1)
s2 <- c(1,5,6)
s3 <- c(2,1,1)
s4 <- c(5,1,1,6)
s5 <- c(3,4)
s6 <- c(4,3) 

每个样本都有一个从0到1分配的P值。我需要找到生成从0到1的数字的最佳方法并选择相应的样本。这就是我所做的:

x <- runif(1, min = 0, max = 100) 
if(x>=0 & x<=20) {                
  print("s1")
}
if (x>=21 & x<=30) {
  print("s2")
}
if(x>=31 & x<=40) {
  print("s3")
}
if(x>=41 & x<=65) {
  print("s4")
}
if(x>=66 & x<=80) {
  print("s5")
}
if(x>=81 & x<=100) {
  print("s6")
}

有谁知道更好的方法吗?

最佳答案

sample 将是最简单的方法。据我了解,您想获取集合的名称吗?

如果是这样,则使用

sample(c('s1', 's2', 's3', 's4', 's5', 's6'), size = 1, prob = c(20, 10, 10, 25, 15, 20))

如果您想获取集合本身,请使用集合列表作为从中提取的对象(您需要在语句末尾添加 [[1]]):

sample(list(s1, s2, s3, s4, s5, s6), size = 1, prob = c(20, 10, 10, 25, 15, 20))[[1]]

关于R中随机选择一个样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54964095/

相关文章:

r - 渲染为 PDF 时 Markdown 中的 kableExtra 错误?

r - 在 R 中添加时间

r - RGtk2 中的 gtkProgressBar

r - 使用 mapply 创建示例时出错

r - (R) 使用 quantreg 包绘制分位数回归系数分布

r - install.packages() 找不到共享的 .so 目标文件

r - 在列中,如何重新编码序列中的数据?

r - 将拉丁字母音译为古希腊字母

css - 在 Shiny 中,避免 selectInput 下拉菜单与其下方的操作按钮重叠

r - R 中的数值积分