Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将数据传递到R中的堆叠条形图?_R - Fatal编程技术网

如何将数据传递到R中的堆叠条形图?

如何将数据传递到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

我有一个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 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"))