连接绘图标签的列表

时间:2012-07-11 18:13:53

标签: r

我想创建连续变量的间隔(离散/ bin)以使用ggplot绘制等值区域图。在阅读各种线程后,我决定使用cutquantile来消除以下问题:a)手动创建箱子,以及b)处理支配状态(否则,我必须手动创建箱子并看到地图并重新调整垃圾箱)。

但是,我现在面临另一个问题。来自cut的间隔时间很少。所以,我正在尝试按照此example和此example来提出我的漂亮标签。

这是我的清单:

x <- seq(1,50)

圆形分位数:

qs_x <- round(quantile(x, probs=c(seq(0,0.8,by=0.2),0.9)))

结果:

 0% 20% 40% 60% 80% 90% 
 1  11  21  30  40  45 

使用这些剪辑,我想提出这些标签:

1-11, 12-21, 22-30, 31-40, 41-45, 45+

我确信使用某些apply函数转换列表有一个简单的解决方案,但我并不熟悉这些函数。

帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

3-liner产生您想要的输出,而不使用apply

labels <- paste(qs_x+1, qs_x[-1], sep="-")
labels[1] <- paste(qs_x[1], qs_x[2], sep="-")
labels[length(labels)] <- paste(tail(qs_x, 1), "+", sep = "")

第一行构造(x1 + 1) - x2形式的标签,第二行修复第一个标签,第三行修复最后一个标签。这是输出

> labels
[1] "1-11"  "12-21" "22-30" "31-40" "41-45" "45+"