扩展网格中的变量r中的3D图

时间:2019-01-18 20:05:10

标签: r plot

我正在尝试从三个变量绘制3D平面。我已经读过很多关于该主题的问题,但是找不到我想要的东西。

我有两组变量:

prob <- seq(0,1,by=0.01)
n <- seq(999,9999, by = 1000)
n <- c(9,99,n)
combis <- expand.grid(prob,n)

然后我将其用于产生结果:

res <- apply(combis,1,calc,pos=pos)

其中res的值可以在0到2/3之间。

因此,我正在尝试绘制3d图,其中n,prob为x,z和y为res。但是,我发现的大多数程序包都需要矩阵等,因此无法正常工作。

任何帮助将不胜感激,如果找不到答案,对不起。

1 个答案:

答案 0 :(得分:1)

假设res只是一个向量,您可以将数据合并并将其整形为宽格式的矩阵,然后使用类似lattice的软件包进行绘制

prob <- seq(0,1,by=0.01)
n <- seq(999,9999, by = 1000)
n <- c(9,99,n)
combis <- expand.grid(prob,n)

res <- runif(n=nrow(combis), 0, 0.67) #generate sample data for res
dat <- cbind(combis, res)

library(reshape2)
datm <- acast(data = dat, Var1~Var2, value.var = "res") #cast it into wide format

library(lattice)
library(latticeExtra)

cloud(datm, panel.3d.cloud = panel.3dbars, xlab="n", ylab="res", zlab="prob")

3d plot