R:线框类似于分类变量的3D图

时间:2011-11-09 17:42:58

标签: r graphics graph lattice wireframe

我想在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')"

任何建议表示赞赏。

2 个答案:

答案 0 :(得分:5)

这似乎有效:

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))

enter image description here

答案 1 :(得分:3)

使用lattice中函数的最简单方法是使用公式接口。

假设yv是你的自变量:

wireframe(yv ~ gen + env, data = mdf)

enter image description here