&引用;轴误差;对于R中的箱线图

&引用;轴误差;对于R中的箱线图,r,boxplot,R,Boxplot,我不断得到以下错误: Error in axis(side = 1, at = 1:3, labels = c("ADDA", "DM")) : 'at' and 'labels' lengths differ, 3 != 2 跑步时 boxplot(ELISA_Mussel$conc2~ELISA_Mussel$ELISA,main="ELISA", names=c("ADDA","DM"), ylab=expression(paste(mu,"g/L"))) 虽然我

我不断得到以下错误:

Error in axis(side = 1, at = 1:3, labels = c("ADDA", "DM")) : 
  'at' and 'labels' lengths differ, 3 != 2
跑步时

boxplot(ELISA_Mussel$conc2~ELISA_Mussel$ELISA,main="ELISA",
    names=c("ADDA","DM"),
    ylab=expression(paste(mu,"g/L")))
虽然我只有两个标签。为什么它说我有3个?数据(ELISA_贻贝)如下所示:

ELISA   conc2
ADDA    20
ADDA    11.5
ADDA    18.5
ADDA    16.5
ADDA    17.6
ADDA    20
ADDA    11.5
ADDA    20
ADDA    14.5
ADDA    20
ADDA    8.5
ADDA    10.5
DM  6
DM  3.9
DM  4.3
DM  4.6
DM  5
DM  3.6
DM  6.2
DM  7
DM  3.8
DM  3.2
DM  5.4
DM  6.8
ADDA    8.6
ADDA    6.9
ADDA    3.9
ADDA    2.2
ADDA    7.4
ADDA    3.7
ADDA    4.5
ADDA    13.2
ADDA    8.6
ADDA    9.2
DM  1.6
DM  0.01
DM  0.01
DM  0.01
DM  0.01
DM  0.01
DM  0.01
DM  0.01
DM  1.6
DM  1.5
str(ELISA_贻贝)

“data.frame”:64 obs。在15个变量中:

$ELISA:因子w/3水平“,”ADDA“,”DM“:2。。。 $海鲜:系数w/2级“,“贻贝”:2。。。 $Method:系数w/3级“,”龙眉“,..:2。。。
$conc:Factor w/32 levels“”“您必须有一个包含三个级别的Factor,尽管只使用了两个级别。您可以通过执行以下操作进行检查:

is.factor(ELISA_Mussel$ELISA)
# TRUE
nlevels(ELISA_Mussel$ELISA)
# [1] 3
您可以通过删除未使用的级别来修复此问题:

ELISA_Mussel$ELISA <- droplevels(ELISA_Mussel$ELISA)

(还请注意,由于默认情况下使用级别,因此可以不使用
名称
选项。)

@flodel-我不明白为什么我只有清单2中的3级因子。我已经尝试将数据移动到另一个电子表格中,但似乎无法摆脱这3级。另外,如果您对如何摆脱额外(tic标记)有想法(评论如下)当我在它绘制的箱线图代码中尝试液滴时,这会很有帮助,但是我在x轴上还有一个额外的因子(tic标记)。如果没有一个可复制的例子,恐怕我帮不了你。如果你的数据不是太大,你可以提供
dput(ELISA\u Mussel)
。如果不是,也许
str(ELISA\u Mussel)
可能很有用。请将这些信息作为编辑添加到您的问题中。您有一个
级别,可以用一个记号来解释额外的箱线图。您确实应该清理您的数据。因此,您的数据不是太大,请粘贴
dput(ELISA_贻贝[c(“ELISA”,“conc2”)])
boxplot(ELISA_Mussel$conc2 ~ droplevels(ELISA_Mussel$ELISA),
        main="ELISA", ylab=expression(paste(mu,"g/L")))