如何根据 R 中的直方图桶对数据进行分类?
Posted
技术标签:
【中文标题】如何根据 R 中的直方图桶对数据进行分类?【英文标题】:How can I categorize my data based on histogram buckets in R? 【发布时间】:2022-01-18 22:52:24 【问题描述】:我有一个从 my.data
内的 obsoleteness
列生成的直方图
his.obsoleteness <- (ggplot(my.data, aes(x=obsoleteness))
+ geom_histogram(bins = 15,fill = "white", color="Red" )
+ stat_bin(aes(y=..count.., label=..count..), geom="text",bins = 15))
我想向my.data
添加一个新列,表示“桶号”。例如,如果第一个(最小桶)中的一行,该列的值应为 1,如果它在第二个桶中,则该值应为 2,依此类推。除了手动为每个桶间隔分配值之外,还有其他简单的方法吗?
【问题讨论】:
您可以发布您的数据吗? 我应该如何发布它?它只是一列数值? 尝试使用dput(yourdata)
或使用dput(head(your data, n)
创建n
值的子集,您是说bin
而不是“bucket”吗?
我想你在找 ?cut
【参考方案1】:
由于 bins 按等宽分组数据,您可以尝试:
# sample data
my.data <- data.frame(obsoleteness = sample(1:10000, 1000, replace = T))
bins <- 15
my.data$bin <- findInterval(my.data$obsoleteness,
quantile(my.data$obsoleteness,
probs = seq(0, 1, by = 1/bins)))
# > head(my.data,10)
# obsoleteness bin
#1 4101 7
#2 1702 3
#3 6354 10
#4 7710 12
#5 3575 6
#6 2686 5
#7 6598 10
#8 6983 11
#9 9414 15
#10 9431 15
【讨论】:
以上是关于如何根据 R 中的直方图桶对数据进行分类?的主要内容,如果未能解决你的问题,请参考以下文章
R ggplot 直方图。如何根据另一个变量更改条形的颜色?
R语言ggplot2可视化:可视化人口金字塔图直方图(堆叠直方图连续变量堆叠直方图离散变量堆叠直方图)密度图箱图(添加抖动数据点tufte箱图多分类变量分组箱图)小提琴图