R: каркасный 3D-график для категориальных переменных

#r #graphics #graph #lattice #wireframe

#r #графика #График #решетка #каркасный

Вопрос:

Я хочу разработать каркасный график с нечисловым значением по оси X, Y, но числовым значением по оси Z.

 # mydata 
set.seed(123)
yv <- rnorm(20, 10, 3)
gen <- rep(paste("G", 1:5, sep= ""), 4)
env <- c(rep(c("CA","MN","SD", "WI"), each = 5))
mdf <- data.frame(yv, gen, env) 
  

Я пытался использовать решетку:

 require(lattice)
wireframe(yv,gen, env, data = mdf)

Error in UseMethod("wireframe") : 
  no applicable method for 'wireframe' applied to 
  an object of class "c('double', 'numeric')"
  

Приветствуются любые предложения.

Ответ №1:

Похоже, это работает:

 set.seed(123)
mdf <- data.frame(yv=rnorm(20, 10, 3),
                  gen=rep(paste("G", 1:5, sep= ""), 4),
                  env=c(rep(c("CA","MN","SD", "WI"), each = 5)))
library(lattice)
wireframe(yv~gen*env,data=mdf,scales=list(arrows=FALSE))
  

введите описание изображения здесь

Ответ №2:

Самый простой способ использовать функции в lattice — использовать интерфейс формулы.

Предполагая, что yv это ваша независимая переменная:

 wireframe(yv ~ gen   env, data = mdf)
  

введите описание изображения здесь