【发布时间】:2020-10-14 03:16:52
【问题描述】:
我想创建一个条形图,显示具有相同因子的不同变量。数据集是这样的
ID;Word;Excel;Power Point;Correo electronico
11;Intermedio;Intermedio;Intermedio;Intermedio
25;Intermedio;Intermedio;Intermedio;Intermedio
26;Básico;No la he utilizado;Básico;Básico
27;Básico;Básico;Básico;Intermedio
29;Intermedio;Intermedio;Intermedio;Avanzado
33;Avanzado;Intermedio;Avanzado;Avanzado
37;Avanzado;Básico;Intermedio;Avanzado
39;Intermedio;Intermedio;No la he utilizado;Intermedio
43;Intermedio;Intermedio;Intermedio;Intermedio
51;Avanzado;Básico;Intermedio;Avanzado
53;Intermedio;Intermedio;Intermedio;Intermedio
54;Intermedio;Intermedio;Básico;Avanzado
60;Intermedio;Intermedio;Intermedio;Intermedio
我想创建一个这样的条形图 barplot
我创建了另一个条形图,显示了我想要的所有信息,但它只有一个变量:
ggplot(aes(x = Tablet,
y = prop.table(stat(count)),
fill = factor(Tablet),
label = scales::percent(prop.table(stat(count)), accuracy = 0.01))) +
scale_fill_manual(values = CColors)+
geom_bar(position = "dodge") +
geom_text( aes(label = scales::percent((..count..)/sum(..count..), accuracy = 0.01),
y= ((..count..)/sum(..count..))), stat="count",
vjust = -0.5,
size = 3,
hjust=1)+
scale_y_continuous(labels = scales::percent) +
labs(y = 'Frecuencia relativa', fill = 'Uso de Tablet')+
facet_wrap( ~ Sexo, nrow = 1)+
theme(axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank())+ ggtitle(paste("Uso de Tablet para acceder a clases virtuales \nTotal: ", nrow(das), " Encuestados"))
结果是这样的 Barplot with one variable and grouped by Sex 感谢您的帮助
【问题讨论】:
-
您需要更改数据结构 - 每行一个观察值,每列一个变量。您的新变量将是 ID、软件(级别:Word、Excel、PowerPoint、电子邮件)和熟练程度(级别:未使用、基本、...、高级)。您可以使用 tidyr 包整理您的数据。然后你可以用 x = software 和 fill = proficiency 创建一个 geom_bar。您不需要 position = “dodge” 来获得您在链接中提供的条形图类型。
-
感谢您的帮助
标签: r ggplot2 bar-chart factors