Ось разрывается с зазором, в то время как данные содержат NA - PullRequest
0 голосов
/ 25 августа 2018

Я хочу сделать разрыв по оси x с помощью функции gap.plot() из пакета plotrix, в то время как мои данные содержат NAs.Мой код работает нормально, если нет NAs, но с NAs он говорит мне:

Ошибка в предупреждении if (lostones) («некоторые значения x не будут отображаться»): аргумент не может быть истолкован как логический

и он вообще ничего не отображает.

dt является просто примером набора данных

dt <- data.frame(c(1.2,NA,5,6,4.3,1),c(22,33,22,25,NA,27))
names(dt) <- c("a","b")

library(plotrix)
gap.plot(dt$a, dt$b, gap=c(1.5,3.5), gap.axis="x",col="blue", ylim=range(c(dt$b)),xtics=c(0:1.5,3.5:6), xticlab=c(0:1.5,3.5:6))

abline(v=1.5, col="white")
abline(v=1.56, col="white", lwd=4)  

axis.break(1,breakpos=1.55,style="slash", brw=0.03)   
axis.break(3,breakpos=1.55,style="slash", brw=0.03)

Что мне делатьнадо менять?Кстати, я не хочу использовать ggplot.

1 Ответ

0 голосов
/ 25 августа 2018

Поскольку вы пытаетесь создать диаграмму рассеяния, вы должны пропустить строки, содержащие NA.

Например:

dt <- data.frame(c(1.2,NA,5,6,4.3,1),c(22,33,22,25,NA,27)) 
names(dt) <- c("a","b")

Теперь удалите ваши NA:

library(dplyr)

dt <- dt %>%
  na.omit()

Участок:

library(plotrix)

gap.plot(dt$a, dt$b, gap=c(1.5,3.5), gap.axis="x",col="blue", ylim=range(dt$b) ,xtics=c(0:1.5,3.5:6), xticlab=c(0:1.5,3.5:6))

abline(v=1.5, col="white")
abline(v=1.56, col="white", lwd=4)

axis.break(1,breakpos=1.55,style="slash", brw=0.03)
axis.break(3,breakpos=1.55,style="slash", brw=0.03)

Результат:

enter image description here

...