引用或提取特定级别的元素

时间:2013-02-12 19:10:13

标签: r

假设我在seq(15)上应用了剪切功能cut(seq(15), 5)

我会得到一个垃圾箱列表,其中每个元素都会掉落。如果我想提取第三级的成员或元素怎么办?如何在切割序列后引用落入第3个bin中的元素?

解决Arun的评论:我将为cut函数提供这样的向量:temp< - cut(seq(15),c(.9,4,8​​,12,15))。我正在寻找落在第3级的seq(15)的元素。他们是9,10,11,12。已经有一个答案可以解决了。

2 个答案:

答案 0 :(得分:5)

您可以使用labels=F获取

 cut(seq(15),5,labels=F)
[1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5

然后

x <- seq(15)
> x[cut(x,5,labels=F)==3]
[1] 7 8 9

答案 1 :(得分:2)

您的问题措辞不当且有些含糊不清,但可以使用基本索引:

temp <- cut(seq(15), 5)
temp[temp == levels(temp)[3]]
# [1] (6.6,9.4] (6.6,9.4] (6.6,9.4]
# Levels: (0.986,3.79] (3.79,6.6] (6.6,9.4] (9.4,12.2] (12.2,15]

或者,如果您想要seq(15)的相关值:

seq(15)[temp == levels(temp)[3]]
# [1] 7 8 9