将多个填充的等高线图与R中不同级别的条件变量相结合

将多个填充的等高线图与R中不同级别的条件变量相结合,r,response,lattice,surface,R,Response,Lattice,Surface,我目前正在研究模拟集水区流量对四个气候变量的响应:T、RH、Rs和uz。我想为两个变量T和Rs的流量构造一些“响应面”,具有Rs和uz范围的不同组合,即流量对T和Rs的响应以RH和uz为条件 然而,在晶格中似乎并没有可以用来构造带有2个条件变量的曲面的函数,或者就像我一直在错误地使用它们一样。例如,我尝试了levelplot(),但它给了我一个空白绘图: # Separate input variables and define range intervals for plotting delt

我目前正在研究模拟集水区流量对四个气候变量的响应:T、RH、Rs和uz。我想为两个变量T和Rs的流量构造一些“响应面”,具有Rs和uz范围的不同组合,即流量对T和Rs的响应以RH和uz为条件

然而,在晶格中似乎并没有可以用来构造带有2个条件变量的曲面的函数,或者就像我一直在错误地使用它们一样。例如,我尝试了levelplot(),但它给了我一个空白绘图:

# Separate input variables and define range intervals for plotting
deltaT <- as.matrix(x$X$X1)
deltaRH <- as.matrix(x$X$X2)
deltaRs <- as.matrix(x$X$X3)
deltauz <- as.matrix(x$X$X4)
responseQave <- as.matrix(t(yPenman)[,11])    

# Use 2 intervals for each conditioning variable with 10% overlap
deltaRHint <- equal.count(deltaRH,number=2,overlap=.1)
deltauzint <- equal.count(deltauz,number=2,overlap=.1)

levelplot(responseQave ~ deltaT * deltaRs | deltaRHint * deltauzint, zlim = c(-20,20),cuts=10, col.regions = colorRampPalette(c("red", "white", "blue")))
#分离输入变量并定义绘图的范围间隔

deltaT我无法告诉您如何处理未提供的数据,您也没有提供适当的测试数据集,但有一个
交互
函数,它从两个输入因子构造一个因子

dat <- data.frame( responseQave =rnorm(32), deltaT=rnorm(32), deltaRs=rlnorm(32), deltaRHint=a,deltazint=b)
print(levelplot(responseQave ~ deltaT * deltaRs | interaction(deltaRHint, deltazint), data=dat))

dat Hi bondedust,非常感谢您的演示(我的数据集非常大,所以您使用的随机数很好)。但我发现交互占用了我机器上的大量内存——我猜是因为我的数据集很大(
dat <- data.frame( responseQave =rnorm(32), deltaT=rnorm(32), deltaRs=rlnorm(32), deltaRHint=a,deltazint=b)
print(levelplot(responseQave ~ deltaT * deltaRs | interaction(deltaRHint, deltazint), data=dat))