Итак, я наткнулся на этот ответ здесь, Как создать трехмерную гистограмму в R ,
, и мой вопрос: есть ли у меня три переменные и я хочу использовать x и y?чтобы создать ячейки, например, используя 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
Хорошо подойдет 3dscatter, но данные не имеют смысла, поскольку переменная Z представляет собой отношение, которое в основном находится в диапазоне от 0 до 1, поэтому вы получаете кучу высоких линий ии куча коротких строк.Я бы хотел, чтобы они усреднялись по bin, чтобы показать, как меняется среднее отношение при изменении x и y.Пожалуйста, дайте мне знать, если есть способ сделать это.Спасибо!