簡體   English   中英

如何在兩個圖上用r2值寫出線的方程

[英]How to write equation of line with r2 value on two plots

我想比較兩個線性回歸圖並在圖上或稍微上方打印它們各自的eqns。 我不知道如何使方程式與r2值一起出現並放在它們各自的圖上(理想情況下在一條線上)。 文本文件簡單如下:

num abs
0.875   0.128
1.75    0.262
2.5 0.579 
5   1.292 
10  2.151 
.875    0.185
1.75    0.273
2.5 0.507 
5   1.561 
10  2.581

謝謝您的幫助。

d <- read.table("C:/Users/trinh/OneDrive/Documents/R scripts/BSA.txt", header=T)
attach(d)
da <- d[1:5,]
da2 <- d[6:10,]
reg.da <- lm(abs[1:5]~ num[1:5])
reg.da2 <- lm(abs[6:10]~num[6:10])
par(mfrow=c(1,2))

#1st plot
plot(da,main="Regression line for BSA-1",xlab="[BSA]",ylab="Abs")
abline(reg.da)

#second plot
plot(da2,main="Regression line for BSA-2",xlab="[BSA]",ylab="Abs")
abline(reg.da2)

#establish b intercept/slope and r^2
cf<-round(coef(reg.da2),2)
r2.1<-format(summary(reg.da2)$r.squared, digits = 3)

#first eqn:
eq1<-paste("y = ",cf[1],
    ifelse(sign(cf[2])==1, " + ", " - "), cf[2],"x")
mtext(eq1,side=3)
mtext(bquote(r^2 == .(r2.1)),adj=1)

#establish b intercept/slope and r^2
cf1<-round(coef(reg.da),2)
r2.2<-format(summary(reg.da)$r.squared, digits = 3)

#second eqn:
eq2<-paste("y =", cf1[1],
    ifelse(sign(cf1[2])==1, " + ", " - "), cf1[2],"x")
mtext(eq2,side=3)
mtext(bquote(r^2 == .(r2.2)),adj=1)

在添加第二個圖之前,應放置第一個圖的文本。 以下代碼用於根據您的數據生成示例圖。 我將cex=0.7添加到mtext()的參數中以減小文本的大小並避免方程干擾r平方值。

par(mfrow=c(1,2))

#1st plot
plot(da,main="Regression line for BSA-1",xlab="[BSA]",ylab="Abs")
abline(reg.da)
#establish b intercept/slope and r^2
cf<-round(coef(reg.da2),2)
r2.1<-format(summary(reg.da2)$r.squared, digits = 3)

#first eqn:
eq1<-paste("y = ",cf[1],
           ifelse(sign(cf[2])==1, " + ", " - "), cf[2],"x")
mtext(eq1,side=3,adj=0,cex=0.7)
mtext(bquote(r^2 == .(r2.1)),adj=1,cex=0.7)

#second plot
plot(da2,main="Regression line for BSA-2",xlab="[BSA]",ylab="Abs")
abline(reg.da2)

#establish b intercept/slope and r^2
cf1<-round(coef(reg.da),2)
r2.2<-format(summary(reg.da)$r.squared, digits = 3)

#second eqn:
eq2<-paste("y =", cf1[1],
           ifelse(sign(cf1[2])==1, " + ", " - "), cf1[2],"x")
mtext(eq2,side=3,adj=0,cex=0.7)
mtext(bquote(r^2 == .(r2.2)),adj=1,cex=0.7)

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM