Вот пример. Обратите внимание, что ваши данные z должны быть матрицей с x строками и y столбцами.
library(rgl)
set.seed(1)
x <- seq(1,10)
y <- seq(1,10)
w <- runif(100)
z <- runif(100)
wcolors <- rainbow(length(w))[rank(w)]
zmat <- matrix(z, length(x),length(y))
persp3d(x=x, y=y, z=zmat, col = wcolors)