2

seq(15)假设我像这样应用了 cut 功能cut(seq(15), 5)

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

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

4

2 回答 2

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
于 2013-02-12T19:17:10.243 回答
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
于 2013-02-12T19:16:12.750 回答