使用r语言把连续变量分成20个区间,再绘制带有标签的频数分布直方图
时间: 2023-12-04 09:02:36 浏览: 106
可以使用R语言中的`cut()`函数将连续变量分成20个区间,然后使用`hist()`函数绘制频数分布直方图,并使用`text()`函数添加标签。
以下是示例代码:
```R
# 生成一组随机数据
set.seed(123)
data <- rnorm(1000, mean = 50, sd = 10)
# 将数据分成20个区间
cuts <- cut(data, breaks = seq(min(data), max(data), length.out = 21))
# 绘制频数分布直方图
hist(data, breaks = seq(min(data), max(data), length.out = 21), col = "lightblue", border = "white",
xlab = "Data", ylab = "Frequency", main = "Histogram with Labels")
# 添加标签
for(i in 1:length(unique(cuts))) {
x <- (min(data) + max(data)) / 2 + (max(data) - min(data)) / 20 * i
y <- max(hist(data, breaks = seq(min(data), max(data), length.out = 21), plot = FALSE)$counts) * 0.9
text(x, y, labels = paste0("[", levels(cuts)[i], ",", levels(cuts)[i+1]), adj = c(0.5, 0.5), col = "red")
}
```
运行上述代码,即可得到带有标签的频数分布直方图。
阅读全文