如何将连续变量拆分为等长(定义的数字)的区间并仅在 R 中列出带有切点的区间?
How to split a continuous variable into intervals of equal length (defined number) and list the interval with cut points only in R?
我想把一组数据分成四个大小相等的区间,例如:
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
谢谢!
您正在寻找 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
data.frame(x, breaks=cut(x,breaks = 5, labels=c("1","2.5","5","7.5","10")) )
有用吗?
(诀窍当然在 cut 函数中)
我想把一组数据分成四个大小相等的区间,例如:
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
谢谢!
您正在寻找 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
data.frame(x, breaks=cut(x,breaks = 5, labels=c("1","2.5","5","7.5","10")) )
有用吗? (诀窍当然在 cut 函数中)