我在R中有一个SF-对象.它看起来如下所示:

Type   Value   Geometry 
A       1        ()
A       3        ()
B       2        ()
A       1        ()
C       4        ()

在几何图形列中,将存储多边形要素的几何图形. 我想对随机行进行采样,直到达到或超过一个阈值(比方说5),即Value列中的值之和.

如果在上面的示例中,对第1、4和5行进行了采样,则采样将停止.

推荐答案

你可以使用while循环来判断每次迭代的总和:

library(tidyverse)

df <- tibble(type = c('a', 'a', 'b', 'a', 'c'), value = c(1, 3, 2, 1, 4))
samples <- tibble()
sample_sum <- 0

while (sample_sum < 5) {
  ix <- sample(1:nrow(df), size = 1, replace = TRUE)
  samples <- bind_rows(samples, slice(df, ix))
  sample_sum <- sum(samples$value)
}

R相关问答推荐

从载体创建 pyramid

如何在弹性表中为类别值的背景上色

如何根据包含相同值的某些列获取总额

从API中抓取R数据SON

R创建一个数据透视表,计算多个组的百分比

在(g)子中使用asserable字符

x[[1]]中的错误:脚注越界

保存包含循环和ifelse的函数的输出

随机森林回归:下拉列重要性

次级y轴R gggplot2

用derrr在R中查找组间的重复项

将嵌套列表子集化为嵌套列表

是否可以创建一个ggplot与整洁判断的交互作用

在R中使用Scale_y_Break后更改y轴标签

提取第一个下划线和最后一个下划线之间的任何内容,例外情况除外

迭代到DataFrame列并获得成对的值列表(col1->;col2、col2->;col3、col3->;col4等)的正确方法.

Data.table';S GForce-将多个函数应用于多列(带可选参数)

R如何计算现有行的总和以添加新的数据行

如何根据R中其他变量的类别汇总值?

如何在GALT包的函数&geom_x样条线中调整线宽