要将柱形图作为每个类别的百分比观察,可以使用ggplot2中的geom_bar()函数和scale_y_continuous()函数来实现。以下是一个代码示例:
library(ggplot2)
# 创建示例数据框
df <- data.frame(category = rep(c("A", "B", "C"), each = 3),
value = c(10, 20, 30, 15, 25, 35))
# 计算每个类别的百分比
df <- transform(df, percentage = value / sum(value) * 100)
# 绘制柱形图
ggplot(df, aes(x = category, y = percentage, fill = category)) +
geom_bar(stat = "identity") +
scale_y_continuous(labels = scales::percent) +
labs(x = "Category", y = "Percentage", fill = "Category")
这段代码首先创建了一个示例数据框,其中包含了三个类别(A、B、C)和对应的值。然后,通过计算每个类别的百分比,将百分比存储在新的列中。最后,使用ggplot2的函数绘制柱形图,其中x轴表示类别,y轴表示百分比,fill参数用于设置柱子的填充颜色。
scale_y_continuous()函数用于设置y轴的刻度,将数值转换为百分比格式。labs()函数用于设置x轴、y轴和图例的标签。
运行以上代码,就可以得到一个柱形图,其中每个柱子表示相应类别的百分比观察。