所以我在这里遇到了这个答案,我的问题是,如果我有三个变量并且我想使用 x 和 y 来创建 bin,就像在另一个答案中使用 cut 和 table 一样,我该如何将 z 绘制为落入这些箱的所有变量 Z 数据的平均值?
这就是我所拥有的:
library(plot3D)
x <- data$OPEXMKUP_PT_1d
y <- data$prod_opex
z <- data$ab90_ROIC_wogw3
x_c <- cut(x, 20)
y_c <- cut(y, 20)
cutup <- table(x_c, y_c)
mat <- data.frame(cutup)
hist3D(z = cutup, border="black", bty ="g",
main = "Data", xlab = "Markup",
ylab ="Omega", zlab = "Star")
但它将 z 显示为频率,当我尝试时,
hist3D(x, y, z, phi = 0, bty = "g", type = "h", main = 'NEWer',
ticktype = "detailed", pch = 19, cex = 0.5,
xlim=c(0,3),
ylim=c(-10,20),
zlim=c(0,1))
想了很久,报错,
Error: protect(): protection stack overflow
Graphics error: Plot rendering error
它会很好地进行 3d 散射,但数据没有意义,因为 Z 变量是一个主要介于 0 和 1 之间的比率,所以你会得到一堆高线和一堆短线。我希望它们按 bin 平均,以显示平均比率如何随着 x 和 y 的变化而变化。请让我知道是否有办法做到这一点。