绘制 3 个连续变量和一个布尔变量

Plotting 3 continuous variables and one boolean variable

我 运行 一些模拟探索 3D space 参数,并通过 TRUE 或 FALSE 记录给定模式的存在和不存在。这里有一些数据可以制作一个可重现的例子

v1 = 1:12
v2 = c(0.01, 0.1, 1, 10, 100, 1000)
v3 = c(0.001, 0.01, 0.05, 0.1, 2, 10, 20, 100)
data = expand.grid(v1, v2, v3)
names(data) = c("v1", "v2", "v3")
VResponse = c()
for (row in 1:nrow(data)) {if (data$v1[row] > 8 | data$v1[row] < 2) {if (data$v2[row] > 0.1){if (data$v3[row] > 0.1){VResponse[row] = T} else {VResponse[row] = F}} else {VResponse[row] = F}} else {if (data$v2[row] > 10 & data$v3[row] > 0.1){VResponse[row] = T} else {VResponse[row] = F}}}
data = cbind(data, VResponse)

我的目标是绘制一个图,显示 VResponse 为真的区域和 VResponse 为假的区域。我通过考虑三个变量中的两个并以两种不同颜色绘制 VResponse(实际上使用 绘制区域),用 plotggplot 制作了二维图。我尝试使用 rgl 包中的 plot3d 绘制三维图,但我发现它不太方便。

除了能够有不同颜色的区域外,我还需要轴 v2v3 以对数刻度显示。你能帮我使用这个假数据集吗?

仍然不确定您的问题可能是什么(在修正数学废话之后。)

require(rgl)
 data$lv3<- log(data$v3)
 data$lv2<- log(data$v2)
 with(data, plot3d( v1,lv2,lv3, col=c("red","blue")[1+VResponse]))
 #after some rotation with the cursor:
 rgl.snapshot("out.png")