【发布时间】:2016-04-12 18:16:07
【问题描述】:
cut 函数的文档给出了“一种提取断点的方法”
aaa <- c(1,2,3,4,5,2,3,4,5,6,7)
labs <- levels(cut(aaa, 3))
cbind(lower = as.numeric( sub("\\((.+),.*", "\\1", labs) ),
upper = as.numeric( sub("[^,]*,([^]]*)\\]", "\\1", labs) ))
# lower upper
# [1,] 0.994 3.00
# [2,] 3.000 5.00
# [3,] 5.000 7.01
是否有另一种内置方法来提取断点?
【问题讨论】:
-
你可以稍微简化一下正则表达式:
as.numeric(sub('.(.+),.+', '\\1', labs)); as.numeric(sub('.+,(.+).', '\\1', labs))
标签: r