r - 连接绘图标签列表

标签 r

我想创建连续变量的间隔(离散化/bin)以使用 ggplot 绘制分区统计图。在阅读了各种线程后,我决定使用 cutquantile 来消除以下问题:a) 手动创建 bin,b) 处理主导状态(否则,我必须手动创建垃圾箱并查看 map 并重新调整垃圾箱)。

但是,我现在面临另一个问题。 cut 出来的间隔并不漂亮。所以,我试图遵循这个example还有这个example拿出我漂亮的标签。

这是我的 list :

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 函数来转换列表,但我不太熟悉这些函数。

感谢帮助。

最佳答案

3 行代码可以产生您想要的输出,无需使用 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+"  

关于r - 连接绘图标签列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438821/

相关文章:

删除数据框列表中的部分列名称 - R

r - 为 bookdown 项目创建随附幻灯片

r - roxygen2手动插入换行符

r - R 中的叠加直方图(首选 ggplot2)

r - 如何创建一个依赖于先前观察到的事件的平均值的列?

r - 使用 R 中的人口比率和最小/最大标准将值分配给区域

r - `predict.lm` 函数中的参数

r - 实现肘形方法以找到R中的K均值聚类的最佳聚类数

r - R 中的 Mapdeck 包 - add_grid 似乎未渲染任何内容

R传播错误: Duplicate identifiers for rows