R 使用xyplot绘制两个大小的向量长度
请注意,这是一个简化版本(因此与我之前的文章重复): 这很可能是因为它包含了太多的信息,不管问的是多么基本的问题 这里再次强调: 我想用xyplot(请仅使用xyplot)绘制两列不同长度的图 数据:R 使用xyplot绘制两个大小的向量长度,r,plot,lattice,linear-interpolation,R,Plot,Lattice,Linear Interpolation,请注意,这是一个简化版本(因此与我之前的文章重复): 这很可能是因为它包含了太多的信息,不管问的是多么基本的问题 这里再次强调: 我想用xyplot(请仅使用xyplot)绘制两列不同长度的图 数据: Data <- data.frame(var1=rnorm(10,0,1),prob=seq(0.023,0.365,length=10)) Long <- data.frame(var2=rnorm(20,2,3)) Data在将Long$var2作为调用中的一个单独变量传递后,
Data <- data.frame(var1=rnorm(10,0,1),prob=seq(0.023,0.365,length=10))
Long <- data.frame(var2=rnorm(20,2,3))
Data在将Long$var2
作为调用中的一个单独变量传递后,可以在对xyplot的调用中使用approx()
插入Data$prob
的值。请注意用于调整限制的自定义prepanel绘图
lattice::xyplot(prob ~ var1, data = Data, z = Long$var2,
xlab = "Var1, Var2",
prepanel = function(x, y, z, ...) {
list(xlim = range(x, z),
ylim = range(y))
},
panel = function(x, y, z, ...) {
b <- approx(y, n = length(z))$y
panel.xyplot(x, y, ...)
panel.xyplot(z, b, col = "orange", ...)
})
lattice::xyplot(prob~var1,data=data,z=Long$var2,
xlab=“Var1,Var2”,
prepanel=函数(x,y,z,…){
列表(xlim=范围(x,z),
ylim=范围(y))
},
面板=功能(x,y,z,…){
b为什么不编辑上一个问题?或者再等一点答案?上一个问题只有2个小时。@ialm.是的,这就是为什么我保留较长版本的原因,也作为以防万一的参考。当然只有2个小时,但在其他地方看到,较短的问题可能比某些人回答的问题更可取。你有prob2
变量吗hvar2
在Long
中?@Max您需要x
值和y
值才能绘图。您希望Long
的y
值是什么?如果您单击发布问题上方的链接,它将解释我是如何创建“y”的.基本上这就是重点。我想用prob来绘制它,但这太短了。谢谢,我会在有时间的时候检查一下。
dd <- rbind(data.frame(var = "var1",
val = Data$var1,
prob = Data$prob),
data.frame(var = "var2",
val = Long$var2,
prob = approx(Data$prob, n = 20)$y))
xyplot(prob ~ val, data = dd, groups = var, auto.key = TRUE)