这是一个跟随从昨天开始的muy问题。下面我想添加一个链接将文本表达式添加到xy图中,自动定位
最新的代码是:
mypanel <- function(x,y,...) {
panel.xyplot(x, y, ...)
panel.grid(x=-1, y=-1)
panel.lmline(x,y,col="red",lwd=1,lty=1)
panel.text(200,20,bquote(rho == .(correls[x])),cex=.8, font = 2,col="black")
}
correls <- as.vector(cor(x=mtcars[,2:3],y=mtcars[,1]))
correls<- round(coeff,3)
names(correls)<-names(mtcars[,2:3])
data <- mtcars[,2:3]
charts <- lapply(names(data), function(x) { xyplot (mtcars[,1] ~ mtcars[,x],
panel=mypanel,ylab="MPG", xlab=x)})
的代码需要datset mtcars以及格子,我认为这可能需要LtticeExtra一报还一。
正如你所看到的,我计算了相关系数,并希望将它们添加到图表中。文本武功添加,但有2个问题:
- 的部分correls [X],因为我想不评价,我得到一个NA(它的工作原理本身在控制台不过,我总是检查发现的错误)。我似乎不知道如何解决这个问题,即使是一个指针也能帮上忙,我很乐意去做腿部工作
- 在某些图表中坐标不起作用,因为这是在lapply中运行的,这意味着有些不可见Inthis不是第一个图表,是第二个图表)。是否有可能使该位置自动?阿欣只是一个指针,如何寻找和使用认识
再次感谢
马里奥
更新,解决方案与面板序号建议做鼻涕工作,由lapply所以单独创建的每个图表它总是1,所以我没有得到我需要的东西。我修改了代码以尝试处理位置和开始坐标。然而,它并不总是showand这也说明从CORREL错误的元素出于某种原因,一看就知道oneneeds手动打印使用图表1图等
这里是最新的代码
mypanel <- function(x,y,...) {
panel.xyplot(x, y, ...)
panel.grid(x=-1, y=-1)
panel.lmline(x,y,col="red",lwd=1,lty=1)
panel.text(xmax[x],ymax,bquote(rho == .(correls[x])),pos=4,cex=1, font = 2,col="black")
}
correls <- as.vector(cor(x=mtcars[,2:10],y=mtcars[,1]))
correls<- round(correls,3)
names(correls)<-names(mtcars[,2:10])
xmax <-sapply(mtcars[,2:10],max)
names(xmax) <- names(mtcars[,2:10])
xmax<-floor(xmax)
ymax <- floor(max(mtcars[,1]))
data <- mtcars[,2:10]
charts <- lapply(names(data), function(x) { xyplot (mtcars[,1] ~ mtcars[,x],
panel=mypanel,ylab="MPG", xlab=x,
xlim=c(0,ceiling(max(mtcars[,x])))
,ylim=c(0,ceiling(max(mtcars[,1]))))})
再次感谢任何指针
马里奥
是否由于没有注意到在这个循环调用中有“coeff”而不是“correls”?除此之外,Lattice中还有一些函数可以让您知道您正在使用哪个面板。这将是构建索引以访问正确'correls'值的方式。 –
非常感谢你的支持 - 虽然这会产生一个不正确的值(当然我不会这样做),但这不是问题所在。相关值中包含值,该值不会在标签中找到。一个标签被放置在正确的rho和等号显示中,但correl [x]评估为NA,所以我看到rho = NA(在希腊字母当然有排) 另一个问题是如果我完全可以拥有在可见区域的标签位置,因为坐标不同,它们不能显示。可以这样做吗?我有一个R功能可以自动放置标签? – user1617979
没问题。这是我的观点,即要改变你为'correls'向量编制索引的方式。 –