如果两个向量都非常大(例如每个1000个变量)并且一个向量具有多个NA值,我如何使用“plot()”函数在R中绘制两个数值向量的散点图?
答案 0 :(得分:0)
你应该没有问题,R将通过不绘制来处理NA
:
set.seed(1)
x <- 1:100
y <- 1:100
x[sample(1:length(x), 40)] <- NA
y[sample(1:length(y), 40)] <- NA
plot(x, y)
或者,如果你因NA
的某些代表而死亡,为什么不用某种替代pch
在轴上绘制它们,以便你可以在图例中引用:
plot(x, y, ylim = c(min(y[!is.na(y)]) - 1, max(y[!is.na(y)]) + 1), xlim = c(min(x[!is.na(x)]) - 1, max(x[!is.na(x)]) + 1))
y.for.x.na <- y[is.na(x)]
y.for.x.na <- y.for.x.na[!is.na(y.for.x.na)]
x.for.y.na <- x[is.na(y)]
x.for.y.na <- x.for.y.na[!is.na(x.for.y.na)]
points(rep(min(x[!is.na(x)]) - 1, length(y.for.x.na)), y.for.x.na, col = "red", pch = 4)
points(x.for.y.na, rep(min(y[!is.na(y)]) - 1, length(x.for.y.na)), col = "red", pch = 4)
如果你遇到x和y都是NA
的情况,那么它真的取决于你做什么!