Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.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 ggplot boxplot提供单个框而不是多个框_R_Graph_Ggplot2 - Fatal编程技术网

R ggplot boxplot提供单个框而不是多个框

R ggplot boxplot提供单个框而不是多个框,r,graph,ggplot2,R,Graph,Ggplot2,我有这种格式的数据 Var1 Var2 value 1 uc010ocr.1 1 68 2 uc010ocs.2 1 34 3 uc010oct.2 1 0 4 uc010ocu.2 1 5712 5 uc010ocv.2 1 45674 6 uc010ocw.2 1 46156 7 uc010ocz.2 1 54515 8 uc010oda.2 1 0 9 uc0

我有这种格式的数据

         Var1 Var2 value
1   uc010ocr.1    1    68
2   uc010ocs.2    1    34
3   uc010oct.2    1     0
4   uc010ocu.2    1  5712
5   uc010ocv.2    1 45674
6   uc010ocw.2    1 46156
7   uc010ocz.2    1 54515
8   uc010oda.2    1     0
9   uc010odb.2    1     0
10  uc010odc.1    1    68
11  uc010odd.1    1 43045
12  uc010ocr.1    2   136
13  uc010ocs.2    2     0
Var2列从1到10,每个组的行数与这里显示的Var2==1的行数相同。Var1中的名称对每个Var2组重复

当我这样做的时候

result<-ggplot(datasetMelted, aes(x = Var2, y=value)) + geom_boxplot()+
ggtitle("Coverage")+xlab("Location")+ylab("Coverage")+
stat_summary(fun.y = mean, geom = "point", position = position_dodge(width = .9),
size = 6, shape = 4, show_guide = F)

我得到一个跨越x轴的盒子。当我用Var1替换Var2时,我得到了多个框。我在做什么来阻止Var2被用作正确的x值?谢谢

我刚才在创建箱线图时遇到了类似的问题,并且有一个横跨整个x轴的箱。我相信这是因为我的x值是数字而不是字符

为了解决这个问题,我使用以下命令将列转换为字符:

datasetMelted$Var2 = as.character(datasetMelted$Var2)

这会将Var2更改为字符形式,以便在箱线图中不考虑它。

使用x=factorVar2coolio。谢谢…好像有用。