2012-12-03 49 views
1

TukeyHSD函数打印出一个标题“alpha%family-wise confidence level”,它包含在title函数中。因此,使用main = ""方法来去掉标题给出错误信息:如何编辑plot.TukeyHSD中的主标题?

x <- rnorm(20,5,6) 
y <- factor(c(rep("d", 5), rep("i",5), rep("t",5), rep("l",5))) 

z <- aov(x ~ y) 

plot(TukeyHSD(z), main = "") 

Error in plot.default(c(xi[, "lwr"], xi[, "upr"]), rep.int(yvals, 2), : 
    formal argument "main" matched by multiple actual arguments 

Joris Meys suggests placing main = ""plot.TukeyHSD功能。但是,如果我尝试手动编辑功能,我得到一个错误信息太:

tukey.edit <- function (x, ...) 
{ 
    for (i in seq_along(x)) { 
     xi <- x[[i]][, -4, drop = FALSE] 
     yvals <- nrow(xi):1 
     dev.hold() 
     on.exit(dev.flush()) 
     plot(c(xi[, "lwr"], xi[, "upr"]), rep.int(yvals, 2), 
      type = "n", axes = FALSE, xlab = "", ylab = "", main = "", # changed main = NULL to main = "" 
      ...) 
     axis(1, ...) 
     axis(2, at = nrow(xi):1, labels = dimnames(xi)[[1L]], 
      srt = 0, ...) 
     abline(h = yvals, lty = 1, lwd = 0.5, col = "lightgray") 
     abline(v = 0, lty = 2, lwd = 0.5, ...) 
     segments(xi[, "lwr"], yvals, xi[, "upr"], yvals, ...) 
     segments(as.vector(xi), rep.int(yvals - 0.1, 3), as.vector(xi), 
      rep.int(yvals + 0.1, 3), ...) 
     title(xlab = paste("Differences in mean levels of", 
      names(x)[i])) # removed main from here 
     box() 
    } 
} 

tukey.edit(z) 

Error in x[[i]][, -4, drop = FALSE] : incorrect number of dimensions 

我做了什么错误以及如何删除的情节标题?

回答

1

呃,这有点尴尬。在绘图功能中我没有使用TukeyHSD。这工作:

tukey.edit(TukeyHSD(z)) 
+0

你是如何访问'plot.TukeyHSD'函数?当我在R中尝试过时,它说没有找到该对象,即使我能够绘制“TukeyHSD”类的对象。这很奇怪吗? – Heisenberg

+0

试试'stats ::: TukeyHSD.aov'。你会通过'方法(TukeyHSD)' – Mikko

+0

找到这个。你知道为什么'plot.TukeyHSD'不起作用吗?我想这会导致我对R的理解加深。 – Heisenberg