Трехмерный график в r переменных из расширенной сетки - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь построить трехмерную плоскость из трех переменных. Я прочитал много вопросов по этой теме, но не смог найти то, что искал.

У меня есть два набора переменных:

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 голосов
/ 24 января 2019

Предполагая, что res - это просто вектор, вы можете просто объединить ваши данные и преобразовать их в широкоформатную матрицу, а затем построить с помощью чего-то вроде lattice package

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...