Как нарисовать пустой блок-рекурсив с помощью NA - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь использовать рекурсивный блокпост, но один столбец в наборе данных равен NA и возвращает: Ошибка в boxplot.default (split (mf [[response]], mf [-response]), ...)

Как построить пустую рамку для этого столбца?

Пример:

x1<-rnorm(40,4) #complete
x2<-c(rnorm(10,1),rep(NA,10),rnorm(20,2)) #incomplete
x3<-c(rep(NA,40)) #only NA
x4<-rnorm(40,4) #complete
clas<-c(rep(1,10),rep(2,10),rep(3,10),rep(4,10))
dat<-cbind(x1,x2,x3,x4,clas)
dat

for(i in 1:4){
boxplot(dat[,i]~factor(clas))
x11()
}

Я действительно застрял здесь

1 Ответ

0 голосов
/ 29 января 2019

R не знает, какие минимальные и максимальные значения использовать для оси y.Но вы можете создать поддельный вектор y и просто установить border = "white", чтобы сделать его невидимым.

x1<-rnorm(40,4) #complete
x2<-c(rnorm(10,1),rep(NA,10),rnorm(20,2)) #incomplete
x3<-c(rep(NA,40)) #only NA
x4<-rnorm(40,4) #complete
clas<-c(rep(1,10),rep(2,10),rep(3,10),rep(4,10))
dat<-cbind(x1,x2,x3,x4,clas)
dat

for(i in 1:4){
  if(all(is.na(dat[,i]))) {
    #set y axis min and max
    y.min <- 1
    y.max <- 5
    y.vec <- c(rep(y.min, nrow(dat)- 1), y.max)
    boxplot(y.vec~factor(clas), border = "white")
  } else boxplot(dat[,i]~factor(clas))
  x11()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...