Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.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 ggplot2分组箱线图不';t针对不同的时间点进行分组_R_Ggplot2_Boxplot - Fatal编程技术网

R ggplot2分组箱线图不';t针对不同的时间点进行分组

R ggplot2分组箱线图不';t针对不同的时间点进行分组,r,ggplot2,boxplot,R,Ggplot2,Boxplot,我有一个简单的数据集,有两组,每组在4个不同的时间点有一个值。我想随时间以分组箱线图的形式显示此数据集,但ggplot2不分隔时间点 这是我的数据: matrix Replicate Line Day Treatment X A WT Marker Proportion 1 C 10 low NA HuCHuD_Pos 8.62 2 C 10 low NA

我有一个简单的数据集,有两组,每组在4个不同的时间点有一个值。我想随时间以分组箱线图的形式显示此数据集,但ggplot2不分隔时间点

这是我的数据:

 matrix
    Replicate Line Day Treatment  X A WT     Marker Proportion
            1    C  10       low NA      HuCHuD_Pos       8.62
            2    C  10       low NA      HuCHuD_Pos         NA
            1    C  18       low NA      HuCHuD_Pos      30.50                                                    
            3    C  18       low NA      HuCHuD_Pos         NA
            2    C  18       low NA      HuCHuD_Pos         NA
            1    C  50       low NA      HuCHuD_Pos      26.10
            2    C  50       low NA      HuCHuD_Pos      31.90
            1    C  80       low NA      HuCHuD_Pos      12.70
            2    C  80       low NA      HuCHuD_Pos      26.20
            1    C  10    normal NA      HuCHuD_Pos         NA
            2    C  10    normal NA      HuCHuD_Pos      17.20
            1    C  18    normal NA      HuCHuD_Pos       3.96
            2    C  18    normal NA      HuCHuD_Pos         NA
            1    C  50    normal NA      HuCHuD_Pos      25.60
            2    C  50    normal NA      HuCHuD_Pos      17.50
            1    C  80    normal NA      HuCHuD_Pos      19.00
           NA    C  80    normal NA      HuCHuD_Pos         NA
这是我的代码:

matrix = as.data.frame(subset(data.long, Line == line_single & Marker == marker_single & Day != "30"))

pdf(paste(line_name_single, marker_name_single, ".pdf"), width=10, height=10)
plot <- 
ggplot(data=matrix,aes(x=Day, y=Proportion, group=Treatment, fill=Treatment)) +
geom_boxplot(position=position_dodge(1))   
print(plot)
dev.off()
matrix=as.data.frame(子集(data.long,Line==Line\u single&Marker==Marker\u single&Day!=“30”))
pdf(粘贴(行名单,标记名单,.pdf),宽=10,高=10)
打印编辑:
这就是你的问题的答案可能是这样的:

matrix <- structure(list(Day = c(10L, 10L, 18L, 18L, 18L, 50L, 50L, 80L, 80L, 10L, 10L, 18L, 18L, 50L, 50L, 80L, 80L),
                         Treatment = c("low", "low", "low", "low", "low", "low", "low", "low", "low", "normal", "normal", "normal", "normal", "normal", "normal", "normal", "normal"), 
                         Proportion = c(8.62, NA, 30.5, NA, NA, 26.1, 31.9, 12.7, 26.2, NA, 17.2, 3.96, NA, 25.6, 17.5, 19, NA)),
                    class = "data.frame", row.names = c(NA, -17L))

说明:如果我们将连续变量传递给方框图的“x”轴,
ggplot2
不会将轴转换为离散变量。因此,在缺少“分组”变量的情况下,我们只能得到一个框。但是,如果我们将变量转换成离散的变量,比如一个因子、一个字符串或一个日期,我们就会得到所需的行为

此外,当您使用
dput
或所描述的其中一种技术时,查找和测试答案要比使用问题中的数据描述更容易(或者至少我不知道如何加载该示例数据)


另外,我认为将类变量命名为
data.frame
“matrix”有点混淆,因为
matrix
在R.;)中是它自己的数据类型

这回答了你的问题吗?太棒了,这正是我想要的,我也会记住你的其他建议杰出的很高兴我能帮忙@如果损坏了这个问题,你可以考虑通过点击复选标记来接受答案:
ggplot(data=matrix,aes(x=factor(Day), y=Proportion,  fill=Treatment)) +
  geom_boxplot(position=position_dodge(1)) +
  labs(x ="Day")