从向量中删除 x 个随机条目

标签 r

我有一个大向量:

a<-1:1000
a<-sample(a,replace=F)
b<-sample(1:10,1)

我想从 a 中随机删除“b”个条目。如何做到这一点?

最佳答案

a 的长度无关紧要,让我们举一个更短的例子:

> a=1:20
> a=sample(a,replace=FALSE)
> a
 [1]  9 11 16 15 10 18  8  7  4  2 14  5 12 20  6  1 13 19  3 17
> b=sample(1:10,1)
> b
[1] 3
> a=a[-sample(1:length(a),b)]
> a
 [1]  9 11 16 15 10 18  7  4  2 14 12 20  6  1 13 19  3
> length(a)
[1] 17

这里的技巧是从 1:length(a) 中获取长度 b 的样本,然后使用负索引来子集。

关于从向量中删除 x 个随机条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21193168/

相关文章:

javascript - 具有 TableTools 和其他扩展的 R shiny dataTables

向量中的引用值

string - 如何将字符串转换为R中的数学表达式?

r - 来自 "sampling"的 strata() 返回错误 : arguments imply differing number of rows

r - 用于通过 R 报告的 AdSense Management API

r - purrr 映射未生成整齐的数据

r - gbm 和 blackboost 的内存使用差异

r - 如何在 R 中返回字符串中唯一的位数?

r - 通过引导、曲线拟合在 ggplot 中可视化多条曲线

R:键应该在 data.table 中以这种方式运行吗?