从向量中子集排除数字<和> x的序列[重复]

Posted

技术标签:

【中文标题】从向量中子集排除数字<和> x的序列[重复]【英文标题】:Subsetting a sequence excluding numbers < and > x from a vector [duplicate] 【发布时间】:2019-06-04 15:16:54 【问题描述】:

我正在尝试通过对向量 A 中小于 25 且大于 75 的所有数字进行子集化来创建一个新向量 C。 我的问题是如何以及在何处定位命令子集我想要的范围。

set.seed(135)
A <- sample(1:100,1000, replace=T)
C <- A[seq(1,length(A),)]

我知道我可以通过在最后一个逗号后面放一个数字来子集第 n 个对象,如下所示:

B <- A[seq(4,length(AA),4)

所以我试图把我想被排除的范围放在那里,但我得到了一堆错误:

Error: unexpected ',' in "C <- A[seq(1,length(A),(x<25,"
> C <- A[seq(1,length(A),x<25,x>75)]
Error in seq.default(1, length(A), x < 25, x > 75) : 
  object 'x' not found
> C <- A[seq(1,length(A),(A<25,A>75))]
Error: unexpected ',' in "C <- A[seq(1,length(A),(A<25,"
> C <- A[seq(1,length(A),A<25,A>75)]
Warning message:
In seq.default(1, length(A), A < 25, A > 75) :
  erstes Element von 'length.out' Argument benutzt

我需要第一组序列看起来像这样:

[1] 4 93 10 85 8 89 16 91 84 85 ...

【问题讨论】:

这是你想要的吗:A &lt;- sample(1:100, 1000, TRUE); A[A &lt; 25 | A &gt; 75] 是的!非常感谢 :) 我想我需要表明我想要一个序列。 【参考方案1】:

您需要在条件之间使用或运算符(|)。

set.seed(135)
A <- sample(1:100,1000, replace=T)
A[A<25 | A>75]

【讨论】:

以上是关于从向量中子集排除数字<和> x的序列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

提取向量的向量子集

%in% 的对面:排除具有向量中指定值的行

Randomizer 从向量中选择一个数字并将其删除

R语言中怎么提取时间序列数据框中符合行名称的子集

深度学习之五:序列模型与词向量

如何用因子和向量构建函数