R 打印错误-半正常打印[

R 打印错误-半正常打印[,r,plot,R,Plot,希望这是一个直截了当的问题。我不确定哪里有错误——好像R在这里不起作用。我重新启动了R并重现了错误,所以我不确定发生了什么 问题:我有一些数据,正在尝试生成效果的半正常图。呵呵,一切都很好……除了最显著的效果没有显示在我的半正常图中: # load data dat2 <- read.table("http://www.stat.ucla.edu/~hqxu/stat201A/data/solder2.dat") # required library library(faraway) #

希望这是一个直截了当的问题。我不确定哪里有错误——好像
R
在这里不起作用。我重新启动了
R
并重现了错误,所以我不确定发生了什么

问题:我有一些数据,正在尝试生成效果的半正常图。呵呵,一切都很好……除了最显著的效果没有显示在我的半正常图中:

# load data
dat2 <- read.table("http://www.stat.ucla.edu/~hqxu/stat201A/data/solder2.dat")
# required library
library(faraway)
# rename vars
names(dat2) <- tolower(names(dat2))
# create full model
a1.1 <- aov(defects ~ a + b + c + d + e + f + g + h + a:b + a:e + a:f + a:g + a:h +
              b:f + b:g + b:h + c:f + c:g + c:h + d:f + d:g + d:h + e:f + e:g + e:h,data=dat2)
# plot effects
halfnorm(a1.1$coef[-1], nlab= length(a1.1$coef[-1])/3-1, labs= names(a1.1$coef[-1]),
         ylab= "abs|Factor Effects|",
         main= "Half Normal Plot") +  qqline(abs(a1.1$coef[-1]))
按预期编辑如下所示,这很简单。以下是正确的代码:

halfnorm(a1.1$coef[-1], nlab= round(length(a1.1$coef[-1])/3,0), labs= names(a1.1$coef[-1]),
         ylab= "abs|Factor Effects|",
         main= "Half Normal Plot") +  qqline(abs(a1.1$coef[-1]))

你的nlab值并不是一个整数。查看代码,这会给函数带来问题,在某些情况下会导致最后一个效果没有标签。如果你对值进行四舍五入或直接将其设置为整数,那么问题就消失了。

谢谢。为了完整性,我已将代码添加到我的问题中。
halfnorm(a1.1$coef[-1], nlab= round(length(a1.1$coef[-1])/3,0), labs= names(a1.1$coef[-1]),
         ylab= "abs|Factor Effects|",
         main= "Half Normal Plot") +  qqline(abs(a1.1$coef[-1]))