所以我有一个简单的多图/情节矩阵,形式如下:
DATA_SE <- read.table("DEWRATES_SE_15-17.txt", sep = "\t", dec = ".", header = T)
multiplot_SE <- pairs(~SE_21+SE_25+SE_26, data = DATA_SE, main = "Tauraten_Selhausen")
multiplot_SE
有没有办法在我的每个图中添加r平方值(对于一个简单的lm-modell)?
谢谢!
更新:
有没有办法为我的情节面板的x轴和y轴设置固定限制?我只需要将它们全部设置为相同的值(即使对于x和y)!
你可以这样做(因为你没有提供我使用iris
数据集来演示的样本数据):
panel.rsquared <- function(x, y) {
fit <- lm(y ~ x)
usr <- par("usr")
on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
text(0.5, 0.5, sprintf(
"R squared = %4.3f\n Adj. R squared = %4.3f",
summary(fit)$r.squared,
summary(fit)$adj.r.squared))
}
pairs(iris[, -ncol(iris)], upper.panel = panel.rsquared)
在回复您的评论时,您可以定义任何上/下面板功能以满足您的需求。
例如,您可以执行类似我在下面显示的操作。请注意,这不是很有用,因为避免重叠文本和点很困难(不可能)。这是pairs
在配置上部面板以显示注释/文本时的整体想法(和强度),以及下部面板显示图表。这样就可以避免冗余(在原始的帖子图中重复,因此是多余的)。
无论如何,为了它的价值:
panel.plot_withrsquared <- function(x, y) {
points(x, y)
fit <- lm(y ~ x)
usr <- par("usr")
on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
text(0.1, 0.8,
sprintf("R squared = %4.3f",summary(fit)$r.squared),
adj = 0, cex = 0.8)
}
pairs(
iris[, -ncol(iris)],
upper.panel = panel.rsquared,
lower.panel = panel.plot_withrsquared)