线性区域内的R-ggplot2外推回归线
我有以下数据框(附件)。我已经绘制了各种准直器/头组合的CR与A线性区域内的R-ggplot2外推回归线,r,ggplot2,R,Ggplot2,我有以下数据框(附件)。我已经绘制了各种准直器/头组合的CR与A (p <- ggplot(df,aes(x=A,y=CR,col=Head))+geom_point()+geom_line() +facet_grid(Collimator~Head, scales="fixed")+scale_x_continuous("Activity [MBq]", expand = c(0,0))+ylim(0,80000)+ ylab("Count Rate [cps]") + theme_bw
(p <- ggplot(df,aes(x=A,y=CR,col=Head))+geom_point()+geom_line() +facet_grid(Collimator~Head, scales="fixed")+scale_x_continuous("Activity [MBq]", expand = c(0,0))+ylim(0,80000)+ ylab("Count Rate [cps]") + theme_bw()+theme(legend.position = "none"))
一种方法是制作一个新的数据框,该数据框只包含
准直器
和头部
的前两个值。然后计算这两个值的斜率和截距值,并在geom_abline()
中使用它们绘制直线
library(plyr)
#subset only firt two values
df2<-ddply(df,.(Collimator,Head),function(x) head(x,2))
head(df2)
A0 T A Counts CR Head Collimator
1 76 97 63.45388 99780 3326 H1 HRGP
2 274 98 228.34282 317952 10598 H1 HRGP
3 76 85 64.88609 102830 3428 H2 HRGP
4 274 87 233.06284 328231 10941 H2 HRGP
5 76 328 41.29136 121230 4041 H1 LEGP
6 274 330 148.31347 424329 14144 H1 LEGP
#caclulate slope and intercept
df3<-ddply(df2,.(Collimator,Head),summarise, int=coefficients(lm(CR~A))[1],
slop=coefficients(lm(CR~A))[2])
df3
Collimator Head int slop
1 HRGP H1 527.5309 44.10241
2 HRGP H2 529.3279 44.67324
3 LEGP H1 143.0519 94.40105
4 LEGP H2 146.2766 96.95737
5 LEHS H1 567.3029 155.85205
6 LEHS H2 694.4843 162.54077
ggplot(df,aes(x=A,y=CR,col=Head))+geom_point()+geom_line() +
facet_grid(Collimator~Head, scales="fixed") +
scale_x_continuous("Activity [MBq]", expand = c(0,0))+ ylim(0,80000) +
ylab("Count Rate [cps]") +
theme_bw()+theme(legend.position = "none")+
geom_abline(data=df3,aes(intercept=int,slope=slop,color=Head))
库(plyr)
#仅子集前两个值
df2这应该可以做到:
library(ggplot2)
(p <- ggplot(df,aes(x=A,y=CR,col=Head))+
geom_point()+geom_line() +
facet_grid(Collimator~Head, scales="fixed")+
scale_x_continuous("Activity [MBq]",
expand = c(0,0))+ylim(0,80000)+
ylab("Count Rate [cps]") + theme_bw()+theme(legend.position = "none"))
library(plyr)
subdf <- ddply(df,c("Collimator","Head"),
function(x) x[1:2,])
p + geom_smooth(method="lm",data=subdf,colour="gray",se=FALSE,
fullrange=TRUE)
库(ggplot2)
(p
library(ggplot2)
(p <- ggplot(df,aes(x=A,y=CR,col=Head))+
geom_point()+geom_line() +
facet_grid(Collimator~Head, scales="fixed")+
scale_x_continuous("Activity [MBq]",
expand = c(0,0))+ylim(0,80000)+
ylab("Count Rate [cps]") + theme_bw()+theme(legend.position = "none"))
library(plyr)
subdf <- ddply(df,c("Collimator","Head"),
function(x) x[1:2,])
p + geom_smooth(method="lm",data=subdf,colour="gray",se=FALSE,
fullrange=TRUE)