如何在BWR图中添加平均值作为点?

如何在BWR图中添加平均值作为点?,r,R,很抱歉我已经发布了一些简单的问题,但是我对R是新手,我发现通过可用的文档很难找到解决方案 我只想使用BWClot在框和须图中添加一个平均值作为点。我见过类似的问题,但它们通常使用ggplot2或其他软件包。 我已经得到了一些帮助,用一个面板函数来构建一个矩形区域,以便添加到绘图中,因此我怀疑我当前的问题可以通过进一步添加面板函数来解决 我尝试使用panel.average添加到我的panel函数中,但没有成功。使用下面的示例代码,作为下面的示例,我尝试了: library(lattice) li

很抱歉我已经发布了一些简单的问题,但是我对R是新手,我发现通过可用的文档很难找到解决方案

我只想使用BWClot在框和须图中添加一个平均值作为点。我见过类似的问题,但它们通常使用ggplot2或其他软件包。

我已经得到了一些帮助,用一个面板函数来构建一个矩形区域,以便添加到绘图中,因此我怀疑我当前的问题可以通过进一步添加面板函数来解决

我尝试使用
panel.average
添加到我的panel函数中,但没有成功。使用下面的示例代码,作为下面的示例,我尝试了:

library(lattice)
library(MASS)
data <- Cars93[,c("Manufacturer", "Price")] 

testpanel <- function (x,y,...) {
  panel.rect(xleft = 0, xright = 5, ybottom = 15, ytop = 25, col="aliceblue", border = 0)
  panel.average(x,y, fun=mean, identifier="point") #my attempt to add a point to represent the mean
  panel.bwplot(x, y, ...)
}

bwplot(Price ~ Manufacturer, 
       data=rbind(transform(data, Manufacturer="All"), data[data$Manufacturer=="Chevrolet",]),
       panel = testpanel,
       pch='|'

       )
库(晶格)
图书馆(弥撒)

数据这就是9年前《bwplot》的作者Deepayan Sarkar在Rhelp上的回答:

panel.mean <- function(x, y, ...) {
    tmp <- tapply(x, y, FUN = mean)
    panel.points(tmp, seq(tmp), pch = 20, ...)
}

panel.mean我认为大多数处理莱迪思的人“买了这本书”。有一个网站:非常感谢,太棒了。但是,在我的真实数据集上,对于“所有”组,数据集中有一些NAs,是否有方法修改panel.mean函数以删除NAs?我已尝试添加na.rm=TRUE,但没有成功…再次感谢。
panel.mean <- function(x, y, ...) {
    tmp <- tapply(y, x, FUN = mean); print(tmp)
    panel.points(y=tmp, x=seq_along(tmp), ...)
}

bwplot(Price ~ Manufacturer, 
       data=rbind(transform(data, Manufacturer="All"), data[data$Manufacturer=="Chevrolet",]),
       panel = function(x,y, ...) { panel.bwplot(x,y,...)
                 panel.mean(x,y, pch='*', col="red", cex=3)
                            }
       )