如何将数据传递到R中的堆叠条形图?
我有一个csv文件,其中的数据结构如下:如何将数据传递到R中的堆叠条形图?,r,R,我有一个csv文件,其中的数据结构如下: model,pass,fail a,10,5 b,5,10 c,15,5 我想制作一个堆叠条形图,如下所示: 我尝试使用以下代码(数据是导入的csv文件的名称): …但这会将标题名称作为数据点。如何将“数据”传递给条形图函数,使每个模型(a、b、c)都是一个条形图 (因为我是R新手,我现在不想使用任何像ggplot这样的库)>模型通过-失败dat >图书馆(GG2) >图书馆(E2) >dat dat 模型变量值 1 a通行证10 2 b通过5 3
model,pass,fail
a,10,5
b,5,10
c,15,5
我想制作一个堆叠条形图,如下所示:
我尝试使用以下代码(数据是导入的csv文件的名称):
…但这会将标题名称作为数据点。如何将“数据”传递给条形图函数,使每个模型(a、b、c)都是一个条形图
(因为我是R新手,我现在不想使用任何像ggplot这样的库)>模型通过-失败dat
>图书馆(GG2)
>图书馆(E2)
>dat dat
模型变量值
1 a通行证10
2 b通过5
3 c通行证15
4 a不及格5
5 b不及格10
6 c失败5
>ggplot(dat,aes(x=模型,y=值,fill=变量))+geom_条(stat=“identity”)
如果您不想使用ggplot2软件包,可以尝试
model <- c("a", "b", "c")
pass <- c(10, 5, 15)
fail <- c(5, 10, 5)
dat <- data.frame(pass, fail)
dat <- t(dat)
rownames(dat) <- model
barplot(dat, xlab = "Model", col = c("light green","light yellow"))
legend("top", legend = rownames(dat), fill = c("light green", "light yellow"))
<代码>模型>代码> BARTROOT(T(Data [,2:3]),名称=数据$模型)< /代码>,但您不应该认为基础图形是垫脚石。ggplot2基于图形语法,将帮助您考虑更具逻辑性的打印。谢谢!为什么[,2:3]中有逗号?不需要行过滤,只选择2个数据列“…我现在不想使用任何像ggplot这样的库”
> model <- c("a", "b", "c")
> pass <- c(10, 5, 15)
> fail <- c(5, 10, 5)
> dat <- data.frame(model, pass, fail)
>
> library(ggplot2)
> library(reshape2)
> dat <- melt(dat)
Using model as id variables
> dat
model variable value
1 a pass 10
2 b pass 5
3 c pass 15
4 a fail 5
5 b fail 10
6 c fail 5
> ggplot(dat, aes(x = model, y = value, fill = variable)) + geom_bar(stat = "identity")
model <- c("a", "b", "c")
pass <- c(10, 5, 15)
fail <- c(5, 10, 5)
dat <- data.frame(pass, fail)
dat <- t(dat)
rownames(dat) <- model
barplot(dat, xlab = "Model", col = c("light green","light yellow"))
legend("top", legend = rownames(dat), fill = c("light green", "light yellow"))