R语言 帕累托图
在帕累托图中,右纵轴用于累积频率,左纵轴表示频率。它们基本上使用了帕累托原则,即80%的效果是由系统中20%的原因产生的。
在这里,我们有一个条形图,表示事件在不同类别中发生的频率,以递减的方式(从左到右),叠加的线图表示发生的累积百分比。
语法:
pareto.chart(x, ylab = "Frequency", ylab2 = "Cumulative Percentage", xlab, cumperc = seq(0, 100, by = 25), ylim, main, col = heat.color(length(x))
参数:
x: 一个值的向量。names(x)用于标记条形图。
ylab: 一个字符串,用于指定y轴的标签。
ylab2: 一个字符串,用于指定右侧第二个y轴的标签。
xlab: 一个字符串,用于指定x轴的标签。
cumperc: 一个百分比值的向量,用作右侧第二条y轴的刻度线。
ylim: 一个数字向量,指定y轴的极限值。
main: 一个字符串,指定显示在绘图上的主标题。
col: 一个颜色值,一个颜色向量,或者一个条形调色板。关于颜色和调色板,请参见帮助。
绘制帕累托图
以下是绘制帕累托图的必要步骤。
- 取一个向量(defect <- c(Values…)),其中包含不同类别的计数值。
- 取一个向量(names(defect) <- c(Values…)),其中包含指定不同类别名称的字符串值
- 这个向量 “缺陷 “用pareto.chart()绘制。
例1 :
# x axis numbers
defect <- c(27, 789, 9, 65, 12, 109, 30, 15, 45, 621)
# x axis titles
names(defect) <- c("Too noisy", "Overpriced", "Food not fresh",
"Food is tasteless", "Unfriendly staff",
"Wait time", "Not clean", "Food is too salty",
"No atmosphere", "Small portions")
pareto.chart(defect, xlab = "Categories", # x-axis label
ylab="Frequency", # label y left
# colors of the chart
col=heat.colors(length(defect)),
# ranges of the percentages at the right
cumperc = seq(0, 100, by = 20),
# label y right
ylab2 = "Cumulative Percentage",
# title of the chart
main = "Complaints of different customers"
)
输出 :
在这里的图表中,橙色的帕累托线表明(789+621)/1722,即大约80%的投诉来自10分之2=20%的投诉类型(价格过高和份量过少)。
例2 :
# x axis numbers
defect <- c(7000, 4000, 5200, 3000, 800)
# x axis titles
names(defect) <- c("Class A", "Class B", "Class C",
"Class D", "Class E")
pareto.chart(defect, xlab = "Categories",
ylab="Frequency",
col=heat.colors(length(defect)),
cumperc = seq(0, 100, by = 10),
ylab2 = "Cumulative Percentage",
main = "Defects"
)
输出: