R 如何分别为每组制作条形图?

R 如何分别为每组制作条形图?,r,graph,bar-chart,R,Graph,Bar Chart,我有500组的数据,每组有不同的学生人数和他们的分数。我想为每组制作单独的条形图(在R中),这样学生应该在x轴上,他们的分数在y轴上。我试着用ggplot2制作,但它为所有500组生成了一个条形图。我的数据如下表所示:你知道我如何为R中的每一组分别制作数据吗? 库(plyr) 图书馆(GG2) 数据集我们可以使用base R。我们通过“组”列对数据集进行拆分以创建列表,循环遍历列表元素的名称,分别为每个组创建条形图,并将其保存为png文件 lst <- split(df1[-1], df1

我有500组的数据,每组有不同的学生人数和他们的分数。我想为每组制作单独的条形图(在R中),这样学生应该在x轴上,他们的分数在y轴上。我试着用ggplot2制作,但它为所有500组生成了一个条形图。我的数据如下表所示:你知道我如何为R中的每一组分别制作数据吗?

库(plyr)
图书馆(GG2)

数据集我们可以使用
base R
。我们通过“组”列对数据集进行
拆分
以创建
列表
,循环遍历
列表
元素的
名称
,分别为每个组创建
条形图
,并将其保存为
png
文件

lst <- split(df1[-1], df1$Group)
invisible(lapply(names(lst), function(nm1) {
   png(paste0('barplot_', nm1, '.png'))
   barplot(setNames(lst[[nm1]]$Score, lst[[nm1]]$Student), 
                              main=paste0('barplot of Group', nm1))
   dev.off()
 }))

lst为我们提供一些可复制的数据,我们将向您展示如何在base R中执行此操作。
lst <- split(df1[-1], df1$Group)
invisible(lapply(names(lst), function(nm1) {
   png(paste0('barplot_', nm1, '.png'))
   barplot(setNames(lst[[nm1]]$Score, lst[[nm1]]$Student), 
                              main=paste0('barplot of Group', nm1))
   dev.off()
 }))