如何将连续变量拆分为等长(定义数量)的区间并仅在 R 中列出带有切点的区间?

Posted

技术标签:

【中文标题】如何将连续变量拆分为等长(定义数量)的区间并仅在 R 中列出带有切点的区间?【英文标题】:How to split a continuous variable into intervals of equal length (defined number) and list the interval with cut points only in R? 【发布时间】:2015-10-11 13:05:04 【问题描述】:

我想将一组数据分成四个大小相等的区间,例如:

x=c(0:10)

G1: [0,2.5)

G2: [2.5,5)

G3: [5,7.5)

G4: [7.5,10]

无论如何我可以将数据分成相等长度的间隔(在这种情况下说四个)并得到下面的列表,包括最小值和最大值:

0   2.5   5   7.5   10 

谢谢!

【问题讨论】:

感谢您的精彩收获! 【参考方案1】:

您正在寻找cut

cut(1:10, c(1, seq(2.5, 10, by=2.5)), include.lowest = T)
#  [1] [1,2.5]  [1,2.5]  (2.5,5]  (2.5,5]  (2.5,5]  (5,7.5]  (5,7.5]  (7.5,10]
#  [9] (7.5,10] (7.5,10]
# Levels: [1,2.5] (2.5,5] (5,7.5] (7.5,10]

如果您只想要均匀间隔的休息,请使用seq

x <- 0:10
seq(min(x), max(x), len=5)
# [1]  0.0  2.5  5.0  7.5 10.0

【讨论】:

我想将数据拆分为具有定义的区间数的相同区间大小,但不是通过值的差异。我已经编辑了我的问题,所以它会更清楚。谢谢【参考方案2】:
data.frame(x, breaks=cut(x,breaks = 5, labels=c("1","2.5","5","7.5","10")) )

有效吗? (诀窍当然是在 cut 函数中)

【讨论】:

以上是关于如何将连续变量拆分为等长(定义数量)的区间并仅在 R 中列出带有切点的区间?的主要内容,如果未能解决你的问题,请参考以下文章

将字符串拆分为等长的部分c ++

如何避免将文件下载到下载文件夹并仅在c#中下载到其他特定文件夹

51Nod 1810 连续区间

如何获取前两个选择器意图并仅在android中为用户显示它们

在Java中将字符串拆分为等长的子字符串

pandas将dataframe中的内容为列表(list)的数据列裂变拆分为多个新的数据列实战:拆分为多个新的数据列(并指定新数据列的名称)数据列中的列表(不等长)拆分为多个新的数据列产生NaN