R 从向量中删除x个随机项
我有一个大向量:R 从向量中删除x个随机项,r,R,我有一个大向量: a<-1:1000 a<-sample(a,replace=F) b<-sample(1:10,1) aa的长度是不相关的,让我们举一个简短的例子: > 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<-1:1000
a<-sample(a,replace=F)
b<-sample(1:10,1)
aa的长度是不相关的,让我们举一个简短的例子:
> 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的样本,然后使用负索引来子集。如果要将a
中的b
值设置为NA
,则:
a[sample(1:length(a), b)] <- NA
a <- a[-sample(1:length(a), b)]
adel notereplace=FALSE
是默认值,但有时为了清楚起见,当您记不起默认值是什么时,可以方便地保留。删除a
的第一个元素,或者如果a
被置乱,则a
的随机元素相同。