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